在Xcode中使用正则表达式从发现结果中排除措辞

时间:2011-09-06 16:20:35

标签: regex xcode

我需要在项目文件中找到所有<LIB><M>,但仅在没有<TOLERATED>时才会找到。

E.g。找到这一切:

// <M> a bit of code
// <LIB> rename with prefix

但不要显示这些:

// <M><TOLERATED> a bit of code
// <TOLERATED><LIB> rename with prefix

我的尝试: 这会为您提供<LIB><TOLERATED>的结果:<LIB>(.*?)TOL 然后我试图用<TOLERATED>否定<LIB>(.*?)(?!TOL),但这会让我回到<LIB><TOLERATED>

我尝试了许多其他方法从搜索结果中排除<TOLERATED>,但没有一种方法有效:

<LIB>(?!TOL\b)\b\w+
<LIB>(.*?)(?!TOL\b)\b\w+
<LIB>(.*?)(?<!TOLERATED)
<LIB>(.*?)+\b(?<!\bTOLERATED)

和其他许多人。

我一直在关注的是: RegExp in Xcode: exclude matches from result set?

感谢您的帮助 - 约瑟夫

1 个答案:

答案 0 :(得分:2)

^(?!.*?<TOLERATED>).*?<(?:LIB|M)>