我想匹配我教授给我的* .sgm标签之外的所有“行为”,我知道我们可以使用XML解析器,但我们的目标是纯粹学习REGEX。
这是我现在的正则表达式:
(?<![""=<\/])\bthe act\b(?!\>)
问题在于这个例子:
<ptext>Test example the act example</ptext>
我的正则表达与“行为”匹配。这是正确的。
但如果这个例子现在我会尝试:
<ptext tags="Test the act">Example the act</ptext>
正则表达式将匹配(2)两个“行为”,一个位于标记属性内部和一个外部,我不想匹配标记内的所有行为,我该怎么做?感谢。
答案 0 :(得分:3)
也许这会起作用:(?<=\>[^>]*)the act(?=[^<]*\<)
如果正则表达式引擎允许可变长度看后面,它应该有效,我认为c#的引擎可以。