正则表达式:除了数字之外什么都没有,或者根本没有

时间:2011-12-26 11:59:04

标签: regex

我认为这是一个非常基本的问题,但我无法弄清楚:

应匹配:

A12
A12.1
A12.123

不应该匹配:

A1
A123
A13

我的猜测是A12 [^ 0-9],但这种方式“A12”不匹配。 A12[^0-9]|A12将是一种解决方法,但我正在寻找更优雅的东西。

5 个答案:

答案 0 :(得分:2)

在你的正则表达式中,你从不谈论你在示例中提到的.。无论如何,您可以使用?,如下所示:

A12(\.\d+)?

答案 1 :(得分:1)

听起来怎么样?

A12(\.\d+)?$

这将匹配A12和A12.some_digits

答案 2 :(得分:1)

A12(?!\d)

完全按照规定满足您的要求:匹配A12,除非它后跟一个数字。

答案 3 :(得分:0)

A12[^0-9]?

?使括号中的部分可选。

答案 4 :(得分:0)

可能是一个解决方案...... ^ A12(\ d {0,1})?