我在Java中有这个正则表达式:
\\d[a-zA-z]
?
它应该只允许字母后跟 1 或 0 个字符。
但是,当我将其与 17c 甚至 21 等进行匹配时,它不会导致匹配。这是我使用的代码:
if (!(pattern.matches("\\d[a-zA-z]?"))) {
Throw error...;
}
感谢您的帮助!
那是因为
17c
和 21
不匹配 "\d[a-zA-z]?"
。该表达式匹配一位数字后跟一个字符。
尝试使用
"\d+[a-zA-z]*"
匹配一位或多位数字后跟零个或多个字符。
它应该只允许字母后跟 1 或 0 个字符。
尝试使用这个正则表达式:
[a-zA-Z]+.?
这里:
[a-zA-Z]+
匹配至少一个字母(大小写).?
匹配任何字符(换行符除外)零次或一次。可能
\d+[a-zA-Z]?
就是您要找的人?
(作为 Java 字符串加两个反斜杠)