我想捕捉如下正则表达式:"cx001"" cx001"" cx001 ""cx001.""cx001,"

现在我正在尝试使用此正则表达式:

"[^|\\s|>]*([a-z]{2}[0-9]+\\.?)\\b"


但我有一个问题是:"#cx001""@cx001"也被匹配。

我只希望正则表达式只首先接受“空格”或“起始字符串”!

最佳答案

当前的正则表达式通过将起始锚放置在字符类[]中来滥用起始锚。您可以这样解决:

(^|\s*)\b([a-z]{2}[0-9]+\.?)\b


现在,您的正则表达式是关于行首的显式说明,此后可能跟随零个或多个空白字符。

这是demo on ideone

09-25 17:34