0

我正在使用 Java 正则表达式来匹配和捕获字符串,例如:

0::10000

一个解决方案是:

(0::\d{1,8})

但是,输入的匹配会成功

10::10000

同样,这是错误的。因此,我现在有:

[^\d](0::\d{1,8})

这意味着它必须以除数字以外的任何字符开头,但这意味着在第一个零之前需要有一些字符。我真正想要的(以及我需要帮助的)是说“以非数字或根本没有的方式领导”。

总之,最终解决方案正则表达式应匹配以下内容:

0::10000
kjkj0::10000

并且不应与以下内容匹配:

10::10000

如果有人想提供帮助,这个网站可能会有用。

谢谢。

4

1 回答 1

4

你需要一个消极的回顾:

(?<!\d)(0::\d{1,8})

它的意思是“匹配0::\d{1,8}前面没有\d”。

于 2011-01-28T18:29:26.780 回答