Java Regex Matcher匹配。 (点)即使它不在Pattern中

时间:2016-04-04 06:45:11

标签: java android

我想解析分号分隔的字符串,最后有分号或没有分号

我有正则表达式(\s*\w+)(\s*;)*,我将其解释为匹配:

0..n空格后跟1..n个字符,后跟0..n以分号结尾的空格。

我的问题是我得到错误的匹配"如果有'。在输入字符串中 例如:

0000.274283;518600.00-F10W;

而不是预期' 0000.274283;'我得到了0000'

我错过了什么?

2 个答案:

答案 0 :(得分:0)

\ w匹配任何单词字符。因此,您匹配0-n空格,后跟1个或多个字母,数字或下划线。因为'。'不包括在内,您的正则表达式与字符串不匹配'。'在它,因此你只得到0000而不是0000.274283

答案 1 :(得分:0)

[^;]+匹配除分号之外的所有内容,因此您可以使用此分号以分号分隔给定的字符串。