正则表达式,如果文本包含特定字符,则返回标记之间的所有文本(Notepad ++)

时间:2016-10-19 06:27:45

标签: regex xml notepad++

我正在处理一个包含以下结构单元的大型xml文件:

<TrU>
<CrD>16122013, 11:54:13
<CrU>IK
<ChD>16122013, 11:54:13
<ChU>IK
<Seg L=EN-GB>some text in English
<Seg L=RU-RU>some text in Russian
</TrU>

我需要一个正则表达式,只有在标记<TrU></TrU>之间出现以下任何字符时才能找到这样的完整结构:

IEE

找到没有特定字符标准的结构的表达式是: <TrU>.*?</TrU>

我将其修改为: <TrU>.*?[íèé].*?</TrU>

但它很贪婪,并且一次找到多个邻居单位,通常只有一个单位包含一个所需的字符。

1 个答案:

答案 0 :(得分:0)

试试:

<TrU>(?:(?!<TrU).)*?[íèé].*?<\/TrU>

在记事本++中测试

确保点击匹配换行符

Explanation