我需要识别一些像这样的模式:
[字母][一些空格][字母]
到目前为止我所做的是:
String regex = "[a-zA-Z]\\s+[a-zA-Z]";
最佳答案
按照要求,你写了字母(结尾有一个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]
,它只会匹配空格前后的单个字符。
如果您希望整个字符串都遵循此模式,则必须同时向该模式添加 anchor
String regex = "^[a-zA-Z]+\\s+[a-zA-Z]+$";
^
将正则表达式锚定在字符串的开头。$
将正则表达式锚定在字符串的末尾。- 这些 anchor 确保紧跟在字符串的开头,
^
出现的字母数,[a-zA-Z]+
后跟空格和字母。第二组字母后跟字符串结尾$
关于java - 正则表达式 - 如何识别字符串 + 空格 + 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30462168/