正则表达式匹配确切的数字

时间:2017-12-18 16:34:03

标签: regex

我在visual studio中有很多项目的LOC,我想搜索使用数字12和13的每一行。它不能是更大数字的一部分,我只需要检索那些代码实际上使用常量12和13.我认为可以使用正则表达式,但我在这里遇到了困难。

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:2)

您希望使用Find and Replace处的Edit -> Find and Replace -> Find in Files窗口,其中包含正则表达式\b1[23]\bFind Options Use Regular Expressions复选框。

Find and Replace box

代码

  • \b字边界断言
    • 匹配\w的字符与\w未匹配的字符(按任意顺序)之间的匹配,不消耗任何字符。它不能用于将非单词与单词分开。
  • 1按字面意思匹配
  • [23]匹配集合中的字符(23
  • \b字边界断言

答案 1 :(得分:0)

(?<![0-9])1[23](?![0-9])

将匹配

12
13
abc12hbd

但不是

3456324123656
234564567546
121212
13121312
1
3
123

如果您的12或13可能出现在十六进制字符串中,则可以使用

将其排除
(?<![0-9a-fA-F])1[23](?![0-9a-fA-F])

您需要确定允许哪些字符位于12或13的任一侧,然后排除其他字符。有关更多帮助,请参阅https://regex101.com/

答案 2 :(得分:0)

这可能是一个解决方案:

 ^\D*(?<p>12|13)\D*

名为p的组将保留12或13。 但您最好尝试使用在线正则表达式测试程序,例如https://regex101.com/或在谷歌上显示的任何其他人。

相关问题