Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.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_Regular Language - Fatal编程技术网

Regex 正则表达式匹配不以字符串开头的数字

Regex 正则表达式匹配不以字符串开头的数字,regex,regular-language,Regex,Regular Language,我需要一个正则表达式来查找不以COM开头的数字。我尝试了以下表达式,但它没有按预期工作,COM的条件也没有工作 (?!(COM|СОМ))\d{11,19} 您需要一个负回溯来检查字符串前面是否有其他模式。此外,由于要匹配一系列数字,因此应在正则表达式中包含数字边界,(?和(?!\d) 使用 (? 请参阅。后者将与Python和Boost正则表达式库一起使用,这些库需要查找替代项来匹配相同长度的文本 详细信息 (?-如果当前位置的左侧紧接着有COM,则会导致匹配失败的反向查找 (?-如果当前

我需要一个正则表达式来查找不以COM开头的数字。我尝试了以下表达式,但它没有按预期工作,COM的条件也没有工作

(?!(COM|СОМ))\d{11,19}

您需要一个负回溯来检查字符串前面是否有其他模式。此外,由于要匹配一系列数字,因此应在正则表达式中包含数字边界,
(?和
(?!\d)

使用

(?
请参阅。后者将与Python和Boost正则表达式库一起使用,这些库需要查找替代项来匹配相同长度的文本

详细信息

  • (?-如果当前位置的左侧紧接着有
    COM
    ,则会导致匹配失败的反向查找
  • (?-如果当前位置的左侧有as数字,则会导致匹配失败的负查找
  • \d{11,19}
    -11到19位数字
  • (?!\d)
    -如果当前位置右侧有as数字,则会导致匹配失败的负前瞻

使用
(?@WiktorStribiżew有效。谢谢你!@WiktorStribiżew或可能只是以
\b
结束?@Bohemian不,正则表达式在
А23132323b
中找不到匹配项。
(?<!COM|\d)\d{11,19}(?!\d)
(?<!COM)(?<!\d)\d{11,19}(?!\d)