求教,如何在用正则表达式匹配特定标签中特定内容

2020-04-12 13:10:35 +08:00
 PopRain

需要匹配的文本内容:

<Reference Include="DevExpress.Pdf.v17.2.Core, Version=17.2.11.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"> <Private>False</Private> </Reference> <Reference Include="DevExpress.Office.v17.2.Core, Version=17.2.11.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"> <Private>True</Private> </Reference>

希望能匹配出第 2 条,条件是:标签 <Reference> </<Reference> 包括 DevExpress 和 <Private>True</Private>

谢谢!

1085 次点击
所在节点    问与答
4 条回复
Geekgogo
2020-04-12 13:53:35 +08:00
import re
str = '内容'
pattern = r'\<Reference (.*?)\<\/Reference\>'
re.findall(patter, str)
PopRain
2020-04-12 14:16:20 +08:00
@Geekgogo 全文很多记录,其中有两条记录记录包括 DevExpress,在这两条记录里面,希望能匹配到第二条记录(包括<Private>True</Private>)。

我是想选出包括 DevExpress 引用,属性 Private 为 True 的记录。

谢谢!
imn1
2020-04-12 15:51:28 +08:00
#2
你按数组下标找就是了,findall 输出是数组

想直接匹配,就
r'(<Reference[\s\S]+?(?=.+?Private>True</Private>\s*?)</Reference>)'
autoxbc
2020-04-12 16:47:27 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/661663

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX