首页 > 解决方案 > 正则表达式不匹配

问题描述

细绳:

“顺便说一句:NL855162508B01 NL855162508B02”

Regex code used:

(^((?!NL855162508B01).))([A-Za-z]{2}\d{9}[A-Za-z]\d{2})

正则表达式不匹配:NL855162508B01

但要匹配:NL855162508B02

正如我使用过的这个 Regexr 所示: https ://regexr.com/5im28

期望行为:匹配 NL855162508B02

你们能帮忙吗?

标签: pythonregex

解决方案


你快到了,但这部分(?!NL855162508B01).首先匹配除换行符以外的任何字符,因为.

您正在使用 3 个捕获组,如果您只需要匹配,则可以将其全部省略。

要在字符串不直接位于开头时也匹配字符串,您可以省略锚点^并使用单词边界\b

\b(?!NL855162508B01\b)[A-Za-z]{2}\d{9}[A-Za-z]\d{2}\b

正则表达式演示


推荐阅读