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