首页 > 解决方案 > 为什么下面的正则表达式与字符串不匹配?

问题描述

我正在尝试将以下字符串与正则表达式匹配

字符串:PKGx.1234 ... BBA 正则表达式:^\bPKG[0-9]{0,1}.[0-9]{0,4}\ ...\ \bBB[AB]{1}? $

但我没有得到匹配错误

谁能帮助我如何重新修改正则表达式以匹配给定的字符串..?

标签: regex

解决方案


您在 PKG 之后有一个字符x,该模式尝试与可选数字匹配[0-9]?如果应该有一个可选的单个小写字符,则可以使用[a-z]?

您可以省略之前的单词边界,BB因为两者之间存在隐含的单词边界。

请注意,您没有转义空格,但您必须转义点以从字面上匹配它。

^PKG[a-z]?\.[0-9]{0,4} \.{3} BB[A-B]\b

正则表达式演示

如果要匹配整个字符串,包括末尾的空格和逗号,包括使用$锚来断言字符串的结尾:

^PKG[a-z]?\.[0-9]{0,4} \.{3} BB[A-B] , *$

正则表达式演示


推荐阅读