检测Java String正则表达式中的空格

时间:2015-01-04 00:01:57

标签: java regex pattern-matching whitespace

我正在测试一个邮政编码,它应以两个字母('U'和'S')开头,后跟最多两个数字。这可以找到,但我的问题是检测可能跟随此的任何空白区域。输入后我不想允许任何空格。我使用了以下代码:

              while(!(postcode.matches("([U][S])([0-9]{1,2})+!(\\s)"))){

上面的代码似乎允许在允许的字符串后面有任何空格。非常感谢任何帮助,谢谢?

2 个答案:

答案 0 :(得分:2)

由于您使用matches(),因此无需明确检查是否没有空格。如果数字后面有某些内容则不匹配。

你可以稍微简化你的表达。只是做:

while(!(postcode.matches("US[0-9]{1,2}"))) {

答案 1 :(得分:1)

在正则表达式结束时使用$锚定它可能有效:

while(!(postcode.matches("([U][S])([0-9]{1,2})+$"))){