回答
尝试word.matches("^[0-9,;]+$");
boolean foundMatch = Pattern.matches("[0-9,;]+", "131;23,87");
字符串有匹配()太...“131; 23,87”.matches(“[0-9,;]] +”)工作得很好... – Jean 2011-03-16 15:13:21
word.matches("^[0-9,;]+$");
你几乎没有
你是那里的路90%。
^[0-9,;]+$
与克拉^
开始指示行的开始。
[
的指示字符集
的0-9
表示字符0至9,逗号,
表示逗号,分号指示;
。
闭幕]
表示字符集结束。
加号+
表示必须存在一个或多个“以前的项目”。在这种情况下,这意味着您必须在先前声明的字符集中包含一个或多个字符。
美元$
表示行结束。
我认为^ $ can也意味着任何输入的开始和结束(可以是整个文本文件作为长长的字符串),不一定是一行。但是这个功能取决于正则表达式的实现。 – 2015-07-16 06:18:28
如果有人决定制定正则表达式语言,其中“^ $”表示任何输入,那么为什么还要打扰点“。”和明星'*'运营商?我不怀疑有人会这样做,但它基本上意味着你不能匹配空行(这是愚蠢的)。 – 2015-07-16 12:49:04
[见本页](http://www.regular-expressions.info/anchors。html)“因此,本教程中讨论的所有正则表达式引擎都可以扩展两个锚的含义。”^匹配字符串的开头,$匹配字符串的结尾。 所以这是一个选项,使它们匹配行的开始和结束,但是这个选项不是建议。 – 2015-07-17 14:39:26
你目前的正则表达式只会匹配1个字符。您需要*(包括空字符串)或+(至少一个)来匹配多个字符,并且数字有一个快捷方式:\ d(在字符串中需要\\)。
word.matches("^[\\d,;]+$")
的模式文档是相当不错的:http://download.oracle.com/javase/1.5.0/docs/api/java/util/regex/Pattern.html
您也可以在网上试试你的正则表达式: http://www.regexplanet.com/simple/index.html
- 1. 正则表达式用逗号和点数匹配数字
- 2. 正则表达式匹配文字逗号文字逗号文字..模式
- 3. 正则表达式逗号分隔号
- 4. 正则表达式,每三位数字用逗号匹配
- 5. 正则表达式匹配没有逗号的数字
- 6. 正则表达式匹配不分号
- 7. Java的正则表达式匹配的数字,字符,逗号,引号...
- 8. 正则表达式只匹配不在括号内的逗号?
- 9. 正则表达式:加引号匹配逗号
- 10. 正则表达式匹配不包含引号的逗号
- 11. 匹配逗号分隔的范围与正则表达式
- 12. 正则表达式以匹配任何逗号分隔值
- 13. Ruby正则表达式匹配逗号,但忽略括号中的逗号
- 14. 正则表达式匹配数逗号数
- 15. 正则表达式:逗号
- 16. 正则表达式逗号
- 17. 正则表达式匹配全名和逗号或空格
- 18. 正则表达式javascript,为什么点和逗号匹配为\
- 19. 正则表达式匹配字母数字字符和符号(&)
- 20. 正则表达式只允许数字,逗号和破折号
- 21. 带括号和逗号的数字的JavaScript正则表达式
- 22. Perl正则表达式 - 为什么正则表达式/[0-9\.]+(\,,)/匹配逗号
- 23. 正则表达式:匹配逗号后面没有数
- 24. 正则表达式 - 用逗号分隔
- 25. 正则表达式匹配字母,数字和某些符号
- 26. 以逗号分隔的非逗号空格的逗号之间的正则表达式匹配
- 27. 正则表达式逗号或逗号分隔或空间
- 28. 正则表达式,R和逗号
- 29. 正则表达式和逗号
- 30. 正则表达式从逗号分隔号分隔的列表
嗯,你接近 - 你认为怎么样'1-9'呢? – 2011-03-16 15:05:31
'1-9'可能不会匹配0到9以及'0-9',除此之外...... – 2011-03-16 15:06:31
哇,谢谢大家。一定是太容易了。 – 2011-03-16 15:21:37