用python的beautifulsoup提取xml文件标签,想用正则表达式匹配两个条件,比如
<test>
<a>111</a>
<c>123</c>
</test>
<test>
<b>222</b>
<c>123</c>
</test>
现在想用正则表达式提取两个标签的内容,就是<a>标签跟<b>标签的内容都要取到,请问该如何写这个正则表达式呢
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
簡單的用:
就可以囉,如果沒有太複雜的條件,可以不用正規吧。
说明:
考虑到这里的
<a>标签没有属性, 如果有, 可用r'<(a|b).*?>(.*?)</\1>'.m.group(1)是指标签名, 即a或者b.m.group(2)则是标签内容..*?是惰性匹配..finditer是返回匹配的迭代器, 找它费了点时间.因为标签名不确定, 所以结束标签使用
\1来反向引用标签名, 毕竟开始和结尾标签名要相同.pyquery