例如..
示例文本:<tag>AandBandCandD</tag>
我需要匹配发生在“和”的任何实例之间tag>
并排除其中的所有内容,因此结果是:</tag
“A B C D”
我将分两步执行此操作:
and
接下来用空字符串替换所有出现的。正则表达式不是任一步骤的正确工具:
更新
如果您被迫使用单个正则表达式,那么这可能是不可能的。
无论如何,这是您可以尝试的。
(?<=<tag>)(?:((?!and).)+(?:and)?)*(?=</tag>)
为便于阅读而分解:
(?<=
<tag>
)
(?:
(
(?!
and
)
.
)+
(?:and)?
)*
(?=
</tag>
)
我很确定这会产生与and
s 之间的文本相等的匹配数。但是在不知道确切的正则表达式语言的情况下,有很多事情可以通过稍微不同来打破这一点。