java - 正则表达式接受给定特定集合的数字

标签 java regex numbers

我正在编写一个示例程序,其中当且仅当数字包含 1,2,3,4 数字时才应接受该数字,无论其长度如何。

示例

应该接受

123
1234
122334444111222
133333333333322222244444

不应接受

0123
8123
451233441122
12345
12333333335
12321321367

为了实现上述目的,我编写了一个 regx(正则表达式)"[1-4]+\\d"

上面的正则表达式不检查最后一位数字。它接受以 5,6,7,8,9,0 结尾的数字。

示例

接受

125
2345
123213213232135
1232132132135
1232132132136
1232132132137
1232132132138

不接受

1232321355
232321355
21321360
123278

请任何人解释一下为什么不检查最后一位数字,以便有助于进一步探索。并且也有良好的工作表达能力。

提前致谢

注意:这是在java中

最佳答案

问题是末尾的\\d,它匹配任何数字。将该部分省略:

^[1-4]+$

演示:http://www.rubular.com/r/ydYmT5oeZf

关于java - 正则表达式接受给定特定集合的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15339553/

相关文章:

Java 调用由 GCC 编译的 C 库有效,但在使用 G++ 编译时失败

regex - Morphia mongoDB 通配符查询

php - 如何将 php 中的数字格式化为 1,000 到 1k

java - Spring MVC : Error with form tag and command

java - 我在添加 SideMenu 我的应用程序时遇到问题

Java(安卓): How to I split a string by every two line breaks?

c# - 有效文本的正则表达式

java - 我怎样才能把它变成 Java 正则表达式?

javascript - 在 HTML 中将除法写为分数

java - Java 中以数字开头,然后是点和逗号的字符串