正则表达问题

时间:2012-08-03 05:33:29

标签: c# .net regex

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

这是我现在的正则表达式:

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

问题在于这个例子:

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

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

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

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

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

1 个答案:

答案 0 :(得分:3)

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