1

我想匹配我教授给我的 *.sgm 中标签之外的所有“行为”,我知道我们可以使用 XML 解析器,但我们的目标是纯粹学习 REGEX。

这是我目前的正则表达式:

(?<![""=<\/])\bthe act\b(?!\>)

这个例子的问题是:

<ptext>Test example the act example</ptext>

我的正则表达式匹配“行为”。这是正确的。

但是如果这个例子现在我会尝试:

<ptext tags="Test the act">Example the act</ptext>

正则表达式将匹配(2)两个“行为”,一个在标签属性内部,一个在外部,我不想匹配标签内的所有行为,我该怎么做?谢谢。

4

1 回答 1

3

也许这会起作用:(?<=\>[^>]*)the act(?=[^<]*\<)如果正则表达式引擎允许可变长度向后看,它应该可以工作,我认为 c# 的引擎可以。

于 2012-08-03T05:39:40.613 回答