我需要一些正则表达式的帮助:
我在regex101中有这个示例代码:
http://regex101.com/r/iW8hP4/4
dsgssgdfgdsfg <result1>A1<result1>
anythingiwith<>and"234and
newlinesandsoon
<result>B1<result>
againanything
dsgssgdfgdsfg <result1>A2<result1>
anythingiwith<>and"234and
newlinesandsoon
againanything
dsgssgdfgdsfg <result1>A3<result1>
anythingiwith<>and"234and
newlinesandsoon
<result>B3<result>
againanything
结果我想要3个结果和2个捕获组(这里:CG),它应该是
结果1:1CG:A1 2CG:B1
结果2:1CG:A2 2CG:null或只是空
结果3:1CG:A3 2CG:B3
如何解决这个问题,以及当某些东西不存在时如何获得null / empty?
答案 0 :(得分:1)
您可以使用此正则表达式:
<result1>(.*?)<result1>(?:(?:.(?!<result1>))*?<result>(.*?)<result>)?
可以在第1组和第2组(如果存在)中获取您的文本。这个正则表达式将给出:
MATCH 1
1. `A1`
2. `B1`
MATCH 2
1. `A2`
MATCH 3
1. `A3`
2. `B3`