Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 查找单词和加号_Regex - Fatal编程技术网

Regex 查找单词和加号

Regex 查找单词和加号,regex,Regex,我正在尝试使用visual studio正则表达式查找包含至少1个加号和单词enum的任何行一次或多次 需要明确的是:如果它在任何地方包含加号和字母“enum”序列,以及前面、后面和中间的任何内容,那么它应该返回它 尝试了许多变体,但没有成功: \benum.+(?!\w)^(?=.*enum)(?=.*\+)*$ 如果输入字符串跨越多行,请确保使用多行模式 匹配项: enum+ +枚举 foobar+enum+barfoo 列举+ 枚举+ 不匹配: enum +1 嗯 说明: (?

我正在尝试使用visual studio正则表达式查找包含至少1个加号和单词enum的任何行一次或多次

需要明确的是:如果它在任何地方包含加号和字母“enum”序列,以及前面、后面和中间的任何内容,那么它应该返回它

尝试了许多变体,但没有成功:

\benum.+(?!\w)

^(?=.*enum)(?=.*\+)*$
如果输入字符串跨越多行,请确保使用多行模式


匹配项:

enum+
+枚举
foobar+enum+barfoo
列举+
枚举+
不匹配:

enum
+1
嗯

说明:

  • (?=.*enum)
    -检查该行是否包含“enum”
  • (?=.*\+)
    -检查该行是否包含“+”
  • *
    -匹配该行的整个文本
  • ^
    $
    -确保整行匹配
    • ^(?=.*enum)(?=.*\+)*$
      
      如果输入字符串跨越多行,请确保使用多行模式


      匹配项:

      enum+
      +枚举
      foobar+enum+barfoo
      列举+
      枚举+
      
      不匹配:

      enum
      +1
      嗯
      

      说明:

      • (?=.*enum)
        -检查该行是否包含“enum”
      • (?=.*\+)
        -检查该行是否包含“+”
      • *
        -匹配该行的整个文本
      • ^
        $
        -确保整行匹配

      哪个版本的Visual Studio?此外,顺序是否重要?您的行是否可以包含除
      enum
      +
      之外的任何内容?与2012相比,是的,它只需要包含任意数量的+以及枚举词一次或多次哪个版本的Visual Studio?此外,顺序是否重要?您的行是否可以包含除
      enum
      +
      之外的任何内容?VS 2012,是的,它只需要包含任意数量的+和枚举词一次或多次我使用VS2012,但不幸的是,这不起作用,我可能做了一些错误,但我刚刚打开了“查找和替换”,勾选reg表达式,并在应该有很多时搜索,但没有结果。也许我不清楚加号和枚举词之前、之后和之间是否可以有任何字符,这是否会改变reg expr?@Rivers它应该可以工作。你能举一个应该匹配但不匹配的例子吗?@Rivers在查找工具中,如果“匹配整个单词”处于打开状态,你也应该关闭它,因为它会阻止它正确匹配。很抱歉,kendal,我没有正确阅读你的“不匹配部分”。我总是避开复杂的reg表达式,我只是意识到我也没有给你完整的信息,当我指的是单词enum时,我应该说,它应该返回它,只要它包含“enum”。因此,如果它在任何地方包含加号和字母“enum”序列,以及前面、后面和中间的任何内容,它应该返回it@Rivers我对其进行了编辑,使其与较长单词中的“enum”匹配。我正在使用VS2012,但不幸的是,它不起作用,我可能做错了什么,但我刚刚打开了“查找和替换”,勾选reg表达式,并在应该有很多时搜索,但没有结果。也许我不清楚加号和枚举词之前、之后和之间是否可以有任何字符,这是否会改变reg expr?@Rivers它应该可以工作。你能举一个应该匹配但不匹配的例子吗?@Rivers在查找工具中,如果“匹配整个单词”处于打开状态,你也应该关闭它,因为它会阻止它正确匹配。很抱歉,kendal,我没有正确阅读你的“不匹配部分”。我总是避开复杂的reg表达式,我只是意识到我也没有给你完整的信息,当我指的是单词enum时,我应该说,它应该返回它,只要它包含“enum”。因此,如果它在任何地方包含加号和字母“enum”序列,以及前面、后面和中间的任何内容,它应该返回it@Rivers我对其进行了编辑,使其与较长单词中的“enum”匹配。