正则表达式匹配数字,逗号和分号?

时间:2011-03-16 15:03:46

标签: java regex

什么是正则表达式,它将匹配仅包含数字0到9,逗号和分号的字符串?我希望像Java一样在Java中使用它:

word.matches("^[1-9,;]$") //Or something like that...

我是正则表达式的新手。

6 个答案:

答案 0 :(得分:47)

你几乎拥有它,你只是忽略了量词。

word.matches("^[0-9,;]+$")

答案 1 :(得分:23)

你是90%的人。

^[0-9,;]+$

从克拉^开始表示行的开头。

[表示字符集

0-9表示字符0到9,逗号,表示逗号,分号表示;

结束]表示字符集的结束。

加号+表示必须存在一个或多个“前一项”。在这种情况下,它意味着您必须在先前声明的字符集中包含一个或多个字符。

美元$表示该行的结束。

答案 2 :(得分:4)

尝试word.matches("^[0-9,;]+$");

答案 3 :(得分:2)

word.matches("^[0-9,;]+$");你几乎就在那里

答案 4 :(得分:1)

您当前的正则表达式只匹配1个字符。你需要*(包括空字符串)或+(至少一个)来匹配多个字符,而数字有一个快捷键:\ d(字符串中需要\\)。

word.matches("^[\\d,;]+$") 

Pattern文档非常好:http://download.oracle.com/javase/1.5.0/docs/api/java/util/regex/Pattern.html

您也可以在线试用您的正则表达式: http://www.regexplanet.com/simple/index.html

答案 5 :(得分:0)

boolean foundMatch = Pattern.matches("[0-9,;]+", "131;23,87");