Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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 regex = "[a-zA-Z]\\s+[a-zA-Z]"; 按照要求,你写了信(结尾是s) 因此,要做到这一点,必须将角色类量化为 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]";

按照要求,你写了信(结尾是s)

因此,要做到这一点,必须将角色类量化为

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]+
    后跟空格,然后是字母。第二组字母后面是字符串的结尾
    $

为字符类添加
++
字符串regex=“[a-zA-Z]+\\s+[a-zA-Z]+”
是加号吗?在同一个模式中添加另一个模式的论点是什么?@nu11p01n73R我想你的评论值得把它变成一个答案。
[a-zA-Z]+匹配一个或多个字母。
-当你这么说的时候,你的意思是这个模式可以超过1?是的,这与无限次编写
[a-zA-Z]
是一样的。请查看上面答案中的regex演示链接,以查看两个匹配之间的差异。希望它有助于显示我是否可以签入另一个模式,如果字符串中有“x”?
String regex = "^[a-zA-Z]+\\s+[a-zA-Z]+$";