如何从波纹管线中提取 string1#string2 ?
<![CDATA[<html><body><p style="margin:0;">string1#string2</p></body></html>]]>
#字符和行的结构始终相同。
答案 0 :(得分:1)
我想推荐给您gem:
在综合中,正则表达式不适合这项工作 您是否尝试过XML解析器?
编辑:
import xml.etree.ElementTree as ET
a = "<html><body><p style=\"margin:0;\">string1#string2</p></body></html>"
root = ET.fromstring(a)
c = root[0][0].text
OUT:
c
'string1#string2'
d = c.replace('#', ' ').split()
Out:
d
['string1', 'string2']
答案 1 :(得分:1)
简单,有缺陷,不可靠:
line.replace('<![CDATA[<html><body><p style="margin:0;">', "").replace('</p></body></html>]]>', "").split("#")
答案 2 :(得分:1)
re.search(r'[^>]+#[^<]+',s).group()
答案 3 :(得分:0)
如果您想使用正则表达式:
>>> re.search(r"<p.*?>(.+?)</p>", txt).group(1)
'string1#string2'