我想创建正则表达式,它将匹配带有空格和破折号的第二个名称,例如:
Smith-Wright
Smith
Smith Wright
但是,如果您仅输入-或空格,则它不起作用。现在,我有一个像^[a-zA-Z\s\-]+$
这样的正则表达式,但是它只监视带有-和空格的单词。如何创建仅与分隔符匹配单词的正则表达式?
答案 0 :(得分:3)
您可以使用此正则表达式来表示要匹配的名称,
^[a-zA-Z]+(?:[ -][a-zA-Z]+)*$
说明:
^
-字符串的开头[a-zA-Z]+
-匹配由一个或多个字母组成的名称(?:[ -][a-zA-Z]+)*
-另外,如果空格或连字符之间有空格,则匹配更多名称部分。$
-字符串结尾答案 1 :(得分:1)
如果我正确理解了您的信息,那么您想匹配:
但不是
如果正确,则可以使用:
^[a-zA-Z]+([ -][a-zA-Z]+)*$
您可以将分隔符替换为[ -]
。