你好我想检查是否输入字符串修正与否,但是我碰到一些问题检查一个字符串是否在正则表达式的要求
String pattern = "[a-zA-z\\s]+";
String string="Richard Lin";
System.out.println(string.matches(pattern));
这将打印出真正但是如果我的字符串是字符串= “理查德·林”(更多的空间)它仍然是真实的。有没有一种方法来检测这? 我不想检查它是否有数字,我的字符串包含2个以上的元素。
你好我想检查是否输入字符串修正与否,但是我碰到一些问题检查一个字符串是否在正则表达式的要求
String pattern = "[a-zA-z\\s]+";
String string="Richard Lin";
System.out.println(string.matches(pattern));
这将打印出真正但是如果我的字符串是字符串= “理查德·林”(更多的空间)它仍然是真实的。有没有一种方法来检测这? 我不想检查它是否有数字,我的字符串包含2个以上的元素。
如果你想接受像你"a Bcd"
"Ab dcE f"
等字符串可以使用
[a-zA-Z]+(\\s[a-zA-Z]+)+
[a-zA-Z]+
会匹配"a"
"xYZ"
话"something"
\\s[a-zA-Z]+
将匹配与空间的话才(\\s[a-zA-Z]+)+
要在他们面前搭配空间连续的话,像" one"
," one two"
," some sentence with lot of words that have space at start"
。你能解释一下更多的PLZ吗? –
非常感谢 –
你可以只匹配单个单词:
String pattern = "\\p{Alpha}{3,} \\p{Alpha}{3,}";
'\ w'包含数字和下划线 - 这与OP的外观不一样对于。然而,这是正确的总体思路 - 不匹配空格作为名称组的一部分。 –
我不想检查它是否只有字符 –
,我想在字符串内有超过2个元素 –
你真的有'[a-zA-z \ s] +'吗?有两个'z'? –
你在'Az'附近的语法错误,尝试用'“[a-zA-Z \\ s] +”' –