如何编写一个正则表达式,仅匹配由数字0到9、逗号和分号组成的字符串?我想在Java中这样使用它:
word.matches("^[1-9,;]$") //Or something like that...
我对正则表达式很陌生。
word.matches("^[0-9,;]+$")
您已经完成了90%的工作。
^[0-9,;]+$
以脱字符号^
开头表示行的开头。
[
表示字符集开始
0-9
表示0到9的数字,逗号,
表示逗号,分号表示;
。
闭合的]
表示字符集的结束。
加号+
表示"前一个条目"必须出现一次或多次。在这种情况下,它意味着您必须有先前声明的字符集中的一个或多个字符。
美元符号$
表示行的结尾。
word.matches("^[0-9,;]+$");
。word.matches("^[0-9,;]+$");
你已经接近成功了
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
boolean foundMatch = Pattern.matches("[0-9,;]+", "131;23,87");
1-9
是什么意思? - a'r