Xcode中的RegExp:从结果集中排除匹配项?

CBG*_*rey 4 regex xcode

寻找适当的正则表达式语法,以便在Xcode的"项目查找"中使用,以获取所有"nslog"而不是"// nslog".可以独立进行每次搜索,但不确定如何"链接"它们.

tch*_*ist 6

使用正则表达式说"不遵循"的常规方法是使用该(?<!...)构造.所以有可能

(?<!//)nslog

可以工作.这取决于你正在使用的工具遵循哪种正则表达式,这是我不知道的.但是自从你提出要求以来已经过了一个小时,没有其他人给你任何答案,所以我认为它不会伤害任何事情.

如果你不能做后观否定,那么保证在任何地方工作的模式都是

[^/][^/]nslog
Run Code Online (Sandbox Code Playgroud)

但是,这并不意味着与之前的模式相同!

而不是说不能跟随两个斜杠,而是意味着之前必须有两个非斜杠.这些实际上是不同的; 考虑nslog在行开始时发生的情况.第一种模式会成功,第二种模式会失败.

最后,如果使用斜杠作为模式分隔符 - 意思是,它包围并引用模式 - 那么您必须执行以下操作之一:

  1. 选择备用模式分隔符; 例如,#(?<!//)nslog#如果允许选择octothorpe作为模式周围的引号分隔符.
  2. 回击内部使用的任何斜线并诱导LTS(倾斜牙签综合征); 例如,(?<!\/\/)nslog.
  3. 使用某种形式的数字转义,例如\057八进制或\x2F十六进制; 例如,(?<!\x2F\x2F)nslog.

希望这可以帮助.