import re
str='<DT><H3 ADD_DATE="1646557099" LAST_MODIFIED="1646557099">若干文字'
btag=re.match("(?<=[>]).*",str)
btag需要匹配>号后的“若干个字符”,以上代码输出为空,不明白哪里错误,请纠正
import re
str='<DT><H3 ADD_DATE="1646557099" LAST_MODIFIED="1646557099">若干文字'
btag=re.match("(?<=[>]).*",str)
btag需要匹配>号后的“若干个字符”,以上代码输出为空,不明白哪里错误,请纠正
两个问题
若干文字
的话应该用 findall
或者 search
DT>
这里的 >
,.*
会匹配后面整个 <H3
标签import re
s = '<DT><H3 ADD_DATE="1646557099" LAST_MODIFIED="1646557099">若干文字'
re.findall("(?<=[>])[^<]*", s)
# 结果 ['', '若干文字']
一个建议:
你的数据看起来是浏览器收藏夹导出的内容,你可以考虑用 BeautifulSoup
来处理这种不规范的 XML 数据。
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
2 回答873 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None.
你需要的应该是re.search或是re.findall