python - 正则表达式不匹配
问题描述
细绳:
“顺便说一句: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
你们能帮忙吗?
解决方案
你快到了,但这部分(?!NL855162508B01).
首先匹配除换行符以外的任何字符,因为.
您正在使用 3 个捕获组,如果您只需要匹配,则可以将其全部省略。
要在字符串不直接位于开头时也匹配字符串,您可以省略锚点^
并使用单词边界\b
\b(?!NL855162508B01\b)[A-Za-z]{2}\d{9}[A-Za-z]\d{2}\b
推荐阅读
- c# - Xamarin.Forms:应用程序不在页面上显示元素
- apache-kafka - 如何配置 kafka 消费者,以便在自动缩放后获取的消息总数保持不变?
- django - 如何在 django 中间件中处理 POST 数据?
- java - 使用 Java Stream API 按其值过滤地图
- java - 如何在设备android上添加文件访问权限
- sql-server - 为什么 MSSQL 不支持指定为“CREATE DATABASE”语句一部分的“CHARACTER SET”?
- c# - 依赖注入作用域为瞬态,然后瞬态为单例
- python - 如何在python中直接从谷歌存储向客户端发送文件?
- flutter - 颤振:如何在 windows android studio 中使用 Cupertino(iOS 风格)小部件?
- json - 在 SQL Server 中选择带有嵌套 JSON 数组的过滤器