我需要认识到一些类似的模式:
[信件] [某些空格] [信件]
到目前为止,我所做的是:
String regex = "[a-zA-Z]\\s+[a-zA-Z]";
答案 0 :(得分:3)
根据要求,你写了字母(最后用 s )。
[letters][some spaces][letters]
要做到这一点,你必须将字符类量化为
String regex = "[a-zA-Z]+\\s+[a-zA-Z]+";
[a-zA-Z]+
匹配一个或多个字母。这里+
是量化[a-zA-Z]
一次或多次的量词。
如果你写[a-zA-Z]\\s+[a-zA-Z]
,它只会匹配空格前后的单个字符。
如果您希望整个字符串遵循此模式,则必须将锚点添加到模式中
String regex = "^[a-zA-Z]+\\s+[a-zA-Z]+$";
^
将正则表达式锚定在字符串的开头。$
将正则表达式锚定在字符串的末尾。^
个字母,[a-zA-Z]+
后跟空格和字母。第二组字母后跟字符串$