Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检查字符串是否符合正则表达式要求_Java_Regex - Fatal编程技术网

Java 检查字符串是否符合正则表达式要求

Java 检查字符串是否符合正则表达式要求,java,regex,Java,Regex,嗨,我正在尝试检查输入字符串是否正确,但是我遇到了一些问题 String pattern = "[a-zA-z\\s]+"; String string="Richard Lin"; System.out.println(string.matches(pattern)); 这将打印为true,但是如果我的字符串是string=“Richard Lin”(更多空格),它仍然返回true。有没有办法检测到这个??? 我不想检查其中是否有数字,我的字符串包含的元素是否超过2个 您可以只匹配单个

嗨,我正在尝试检查输入字符串是否正确,但是我遇到了一些问题

 String pattern = "[a-zA-z\\s]+";
 String string="Richard Lin";
 System.out.println(string.matches(pattern));
这将打印为true,但是如果我的字符串是string=“Richard Lin”(更多空格),它仍然返回true。有没有办法检测到这个???
我不想检查其中是否有数字,我的字符串包含的元素是否超过2个

您可以只匹配单个单词:

String pattern = "\\p{Alpha}{3,} \\p{Alpha}{3,}";

您可以只匹配单个单词:

String pattern = "\\p{Alpha}{3,} \\p{Alpha}{3,}";

如果您想要接受诸如
“a Bcd”
“Ab dcE f”等字符串,您可以使用

[a-zA-Z]+(\\s[a-zA-Z]+)+
  • [a-zA-Z]+
    将匹配像
    “a”
    “xYZ”
    “某物”
  • \\s[a-zA-Z]+
    将匹配前面有空格的单词
  • (\\s[a-zA-Z]+)+
    将连续单词与其前面的空格相匹配,如
    “一”
    “一、二”
    “一些句子中有很多单词,开头有空格”

如果您想要接受像
“a Bcd”
“Ab dcE f”
等字符串,您可以使用

[a-zA-Z]+(\\s[a-zA-Z]+)+
  • [a-zA-Z]+
    将匹配像
    “a”
    “xYZ”
    “某物”
  • \\s[a-zA-Z]+
    将匹配前面有空格的单词
  • (\\s[a-zA-Z]+)+
    将连续单词与其前面的空格相匹配,如
    “一”
    “一、二”
    “一些句子中有很多单词,开头有空格”

\w
包括数字和下划线-这与OP所寻找的并不完全相同。不过,这是正确的总体思路-不要将空格作为名称组的一部分进行匹配。我不想检查它是否只包含数字字符,我想在字符串
\w
中包含两个以上的元素,包括数字和下划线-这与OP所查找的内容并不完全相同。不过,这是正确的总体思路-不要将空格作为名称组的一部分进行匹配。我不想检查它是否只包含数字字符,我想在字符串中包含2个以上的元素。您真的有
[a-zA-z\\s]+
?使用两个
z
?您在
A-z
附近的语法中有错误,请尝试使用
“[A-zA-z\\s]+”
是否确实有
[A-zA-z\\s]+
?使用两个
z
?您在
A-z
附近的语法中有错误,请尝试使用
“[A-zA-z\\s]+”
您能解释多一点plz吗?您能解释多一点plz吗?