【发布时间】:2020-09-13 05:47:34
【问题描述】:
我想匹配包含在文本中 2 个标签之间的给定单词的所有实例
我的正则表达式:
(\[mytag\])(.*?)(mytext)(.*?)(\[\/mytag\])
样品1:
[mytag]1 mytext xxx -- this one should match since its withing mytag [/mytag]
样本2:
[mytag] something [/mytag]
2 mytext xxx -- THIS ONE SHOULD **NOT** MATCH - because its not actually within mytag!
[mytag] something [/mytag]
样本 3:
[mytag]4 mytext xxx -- this should match
xxxx xxx
xxxx
5 mytext -- this should match
xxx
[/mytag]
我的正则表达式适用于 Sample1。
它与 Sample2 中的 mytext 不正确匹配。它不应该匹配。
它仅匹配 Sample3 中 mytext 的第一个实例。我想匹配所有实例。
任何想法如何解决这个问题?
【问题讨论】:
-
案例 2 工作正常 mytext 在打开关闭标签之间;对于您想要的内容,您需要向正则表达式添加条件,以便在字符串之间不包含您的标签;对于案例 3,正则表达式确实在 2 个标签之间正确找到了 1 个 mytext 也是正确的
-
您使用什么正则表达式引擎/编程语言?它有向后看/向前看吗?
标签: regex