检测 Java 字符串正则表达式中的空格

Detecting whitespace in Java String regex

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

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

上面的代码似乎允许在允许的字符串之后有任何白色的 spaces。任何帮助将不胜感激,谢谢?

在正则表达式末尾用 $ 锚定可能有效:

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

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

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

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