在XCode中搜索以_

时间:2016-09-01 00:09:48

标签: regex xcode

我看了: Regular Expression to match string starting with "stop"

我想在XCode中使用正则表达式搜索搜索以_字符开头的所有字符串(如果重要的话)我最初认为我可以用^ _搜索但是只返回我的行以_开头,它们排除了带空格的行。

我希望我的搜索能够返回以下所有内容:

_foo
 _bar
  _baz
例如

并排除

之类的内容
foo_bar 
#_
  wholeWord_anotherWord

或任何其他不以' _'开头的字符串然后是myString(ex _myString是一个理想的结果)。基本上我在_命名约定之后寻找所有变量。

我看了:How to ignore whitespace in a regular expression subject string?

我尝试"\s*^_",但仅返回'new line'_aString。我误解了解决方案吗?什么会给我任何_variable的正确答案?

1 个答案:

答案 0 :(得分:1)

  

我最初认为我可以用^ _搜索,但只返回以_开头的行,它们排除带空格的行

鉴于:

  • 你说^_适用于不以空格开头的行;和
  • 您希望排除诸如foo_bar,(或" foo_bar"之类的行)
  • 您正在使用Xcode正则表达式搜索框

然后我找到了以下任何组合:

  • ^\s*_
  • ^\s+?_
  • ^[:space:]*_

将返回以下各项的匹配项:

_foo
 _bar
  _baz

请注意,[:space:]字符类占所有空格(制表符,换页符,回车符等)。

您可以通过将(.*$)添加到上述正则表达式来返回以这些条件中的任何一个开头的整个字符串。分别;

  • (^\s*_\w+)(\s*)(.*$)
  • (^\s+?_\w+)(\s*)(.*$)
  • (^[:space:]*_\w+)([:space:]*)(.*$)

如果需要分离,则后引用\1将为_var,后引用\3将是_var之后的字符串,如果用空格分隔。