Skip to main content
 首页 » 编程设计

一段的Python正则表达式

2025年04月02日28jackei

你好,我有这个作为我的测试字符串:

<image> 
<title>CNN.com - Technology</title> 
<link>http://www.cnn.com/TECH/index.html?eref=rss_tech</link> 

我想使用 python 正则表达式从中选择“技术”,但是我需要特定的它以便它使用 <image>和 <link> .到目前为止,我的表达是:

'<title[^>]*>CNN.com - (.*?)</title>' 

此表达式适用于选择“技术”,这是正确的,但我不确定如何使用 <image> 来专门化我的代码和 <link>在表达中。例如,我需要类似于此正则表达式 '<image><title[^>]*>CNN.com - (.*?)</title><link>' 的内容这实际上会产生与“技术”相同的结果吗?

请您参考如下方法:

您的正则表达式不错,但您需要转义 </title> 中的斜线带有反斜杠,并且由于字符串中的换行符而不匹配。

换行符是空格(像空格,制表...\s 等同于 [\t\n\r\f\v] 当没有设置 UNICODE 标志时),所以你可以使用\s 来匹配它们。

我假设您使用的是 python3,但这并不重要。

s = """<image> 
<title>CNN.com - Technology</title> 
<link>http://www.cnn.com/TECH/index.html?eref=rss_tech</link>""" 
r = r"<image>[\s]*<title[^>]*>CNN.com - (.*?)<\/title>[\s]*<link>" 
m = re.search(r, s) 
print(m.group(0)) 
print(m.group(1)) 

group(1) 是“技术”。