名称的正则表达式
刚刚开始探索正则表达式的“奇迹”。作为一个从反复试验中学习的人,我真的很挣扎,因为我的试验抛出了不成比例的错误......我的实验是使用erg()的PHP。
无论如何。我分别使用名字和姓氏,但现在使用相同的正则表达式。到目前为止,我有:
^[A-Z][a-zA-Z]+$
以大写字母开头且其余部分只有字母(大写或不大写)的任何长度字符串。但是,我分崩离析的地方是处理几乎在任何地方都可能发生的特殊情况。
- 连字符名称(沃辛顿-斯迈思)
- 带有使徒的名字(D'Angelo)
- 带有空格的名称(Van der Humpton) - 中间的大写字母可能是必需的,也可能是不需要的,这远远超出了我在这个阶段的兴趣范围。
- Joint Names (Ben & Jerry)
也许还有其他一些我没有想到的名字,但我怀疑如果我能解决这个问题,我可以添加它。我很确定在某些情况下,不止一种情况会出现在一个名字中。
所以,我认为底线是让我的正则表达式也接受空格,连字符,&符号和撇号 - 但不能在名称的开头或结尾在技术上是正确的。