我想使用以下正则表达式将字符串与前瞻匹配:/A20.(?!4)/
。此字符串应匹配:
A20.1
A20.2
A20.3
A20.41
A20.42
A20.400
...
唯一不应该匹配的A20*字符串是
A20.4
它运行良好,预期为A20.41或A20.42。如何终止regex?我试过/A20.(?!4)$/
,但它不起作用。
您可以使用否定字符类,如[^4]
,这意味着"匹配除四个以外的所有";。但我认为您仍然希望只匹配数字,所以我只需要使用字符类[123567890]
(注意,4被排除在外(。
所以模式是:
A20.[123567890]
此外,您使用.
(点(来匹配点,但点是特殊的正则表达式字符,因此您需要对其进行转义以按字面意思处理:.
您必须更加向前看。如果4后面还有另一个数字,那么匹配它,所以:
A20.((?!4)|(?=dd))