2011-03-16 129 views
19

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

​​

我是新来的正则表达式。

+0

嗯,你接近 - 你认为怎么样'1-9'呢? – 2011-03-16 15:05:31

+0

'1-9'可能不会匹配0到9以及'0-9',除此之外...... – 2011-03-16 15:06:31

+0

哇,谢谢大家。一定是太容易了。 – 2011-03-16 15:21:37

回答

42

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

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

Bah,17秒:D – Shaded 2011-03-16 15:06:32

4

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

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

字符串有匹配()太...“131; 23,87”.matches(“[0-9,;]] +”)工作得很好... – Jean 2011-03-16 15:13:21

2

word.matches("^[0-9,;]+$");你几乎没有

20

你是那里的路90%。

^[0-9,;]+$

与克拉^开始指示行的开始。

[的指示字符集

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

闭幕]表示字符集结束。

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

美元$表示行结束。

+0

我认为^ $ can也意味着任何输入的开始和结束(可以是整个文本文件作为长长的字符串),不一定是一行。但是这个功能取决于正则表达式的实现。 – 2015-07-16 06:18:28

+0

如果有人决定制定正则表达式语言,其中“^ $”表示任何输入,那么为什么还要打扰点“。”和明星'*'运营商?我不怀疑有人会这样做,但它基本上意味着你不能匹配空行(这是愚蠢的)。 – 2015-07-16 12:49:04

+0

[见本页](http://www.regular-expressions.info/anchors。html)“因此,本教程中讨论的所有正则表达式引擎都可以扩展两个锚的含义。”^匹配字符串的开头,$匹配字符串的结尾。 所以这是一个选项,使它们匹配行的开始和结束,但是这个选项不是建议。 – 2015-07-17 14:39:26

相关问题