【发布时间】:2012-12-08 02:13:38
【问题描述】:
希伯来语中的姓氏可以是英文格式,它只是字母的常规组合,如“Smith”、“Camp”、“Jack”等,也可以是两个单词的组合,中间有空格中间,如“Ben David”、“Bar Yohay”、“Yom Tov”。我试图创建一个正则表达式,它允许第一种格式 - 至少两个字母长的姓氏,或第二种格式 - 由两个单词组成的姓氏,每个单词长两个或多个字母,中间有一个空格中间。这是我想出的:
(^[a-z]{2,}$)|((^[a-z]{2,}$)(^[ ]$)(^[a-z]{2,}$))
(我知道它不允许大写字母) 出于某种原因,它确实允许使用第一种格式的名称,例如 Smith 和 Jerry,但不允许使用第二种格式的名称。是不是中间空格的格式有问题?对于正则表达式专业人士来说,这应该是一件容易的事。在此先感谢:)
【问题讨论】:
-
你知道^和$是做什么的吗?
-
那是因为您对
^和$(字符串绑定的开始和结束)过于热衷。您的第二个模式(全部)应包含在^...$中,而不是围绕每个标记。
标签: regex