为什么这个Java正则表达式失败了?

时间:2015-07-15 17:59:24

标签: java regex

在我的Java代码中,我想匹配以下字符串:

composer update

我也希望匹配像“100k”这样的东西。以下适用于“k”但不适用于“m”。这是为什么?

1m
112m
10million
9Million

1 个答案:

答案 0 :(得分:0)

您的代码仅适用于100k,34m等,因为match()需要匹配整个字符串才能返回true。所以你可以试试:

moneyExp.matches("\\b[-+]?\\d+[kK](\\w+)+?\\b"); // for k
moneyExp.matches("\\b[-+]?\\d+[mM](\\w)+?\\b");  // for m