Java正则表达式\\d[a-zA-z]?”;
我有一个Java正则表达式:Java正则表达式\\d[a-zA-z]?”;,java,regex,Java,Regex,我有一个Java正则表达式:\\d[a-zA-z] 它应该只允许字母后跟1或0个字符 但是,当我将其与17c甚至21相匹配时,结果并不匹配。这是我使用的代码: if (!(pattern.matches("\\d[a-zA-z]?"))) { Throw error...; } 谢谢你的帮助 它应该只允许字母后跟1或0个字符 尝试使用此正则表达式: [a-zA-Z]+.? 在这里: [a-zA-Z]+至少匹配一个字母(大写和小写) ?将任何字符(换行符除外)匹配零次或一次 可能
\\d[a-zA-z]
它应该只允许字母后跟1或0个字符
但是,当我将其与17c甚至21相匹配时,结果并不匹配。这是我使用的代码:
if (!(pattern.matches("\\d[a-zA-z]?"))) {
Throw error...;
}
谢谢你的帮助
它应该只允许字母后跟1或0个字符
尝试使用此正则表达式:
[a-zA-Z]+.?
在这里:
至少匹配一个字母(大写和小写)[a-zA-Z]+
将任何字符(换行符除外)匹配零次或一次?
- 可能性\d+[a-zA-Z]?你要找的那个很好,那是因为
17c
和21
不匹配“\d[a-zA-z]?”
。此表达式匹配一个数字后跟一个字符
尝试使用
“\d+[a-zA-z]*”
匹配一个或多个数字,后跟零个或多个字符。模式
?模式
是输入字符串吗?另外,我认为它应该只允许数字后跟1或0个字母。您只允许使用一个带有\d
的数字,然后是一个字母(请注意,输入错误必须是[a-Za-z]
)。要允许1+位数,请使用\d+