谷歌没有多大帮助,所以我希望有人可以帮助我?
preg_match(‘^(MR|MRS)./s[a-z]/s[a-z]$/i’, $_POST[‘fullname’])
我需要一个正则表达式,允许一个名字与先生或太太的称呼,后跟两个由任意数量的空格分隔的文本字符串。我没有工作,我不明白为什么。提前谢谢!
答案 0 :(得分:2)
正则表达式是无效的语法,它需要以相同的分隔符开始和结束:
preg_match(‘/^mrs?\.\s+[a-z]+\s+[a-z]+$/i’, $_POST[‘fullname’])
............^..........................^
知道这是一个脆弱的正则表达式使用 - 不不常见,有多个名字,使用中间名,或者有一个双桶名,或者有重音符号你的名字 - 例如ZOE。
/ - start regex
^mr - string starts with mr
s? - optional "s"
\. - period
\s+ - 0 or more whitespace chars (tabs or spaces)
[a-z]+ - 0 or more letters
\s+ - 0 or more whitespace chars (tabs or spaces)
[a-z]+ - 0 or more letters
$ - end of string
/ - end of regex
i - whole regex is case insensitive.
答案 1 :(得分:1)
[AZ]?[a-zA-Z] {1,30} []?[。]?[']?[]?[a-zA-Z] {1,30} []?[。 ] ['] [ ]?[a-zA-Z] {0,30} []?[a-zA-Z] {0,30}
Works适用于以下名称:
还有更多......
答案 2 :(得分:-1)
试试这个:
preg_match("/^(MR|MRS)\.?(\s*\w*)+$/i", $_POST[‘fullname’])
如果点不是可选的..删除“?”