在regex表达式中与变量匹配多个

时间:2016-10-26 15:33:14

标签: regex notepad++

我有以下示例日志,我需要从

中提取值
<unsetChoice>1449489  and  <setChoice>1449489

有些行有一个值(我认为最多三个)

<auditElement><field id="1399941" type="8" name="Privilege" formatstring=""><unsetChoice>1437844</unsetChoice></field></auditElement>
<auditElement><field id="1399941" type="8" name="Privilege" formatstring=""><unsetChoice>1449489</unsetChoice></field></auditElement>
<auditElement><field id="1399941" type="8" name="Privilege" formatstring=""><setChoice>1449489</setChoice><unsetChoice>1437844</unsetChoice></field></auditElement>
<auditElement><field id="1399941" type="8" name="Privilege" formatstring=""><setChoice>1437844</setChoice><unsetChoice>1449489</unsetChoice></field></auditElement>
<auditElement><field id="1399941" type="8" name="Privilege" formatstring=""><setChoice>1449489</setChoice></field></auditElement>

我有下面的正则表达式,我认为它应该捕获具有两个值的行,并且它应该允许搜索和替换与\1 \t \2一起使用并将每个找到的数据保存到新行。但是忽略具有一个值的行。

有解决这个问题的方法吗?

.*(setChoice>[0-9]{1,}|unsetChoice>[0-9]{1,}).*(setChoice>[0-9]{1,}|unsetChoice>[0-9]{1,}).*

这里的完整示例

https://regex101.com/r/lPuRut/1

0 个答案:

没有答案