如何制作一个能说出以下内容的正则表达式:
FirstName.LastName或FirstName.Letter.LastName
允许举例:
不允许举例:
提前致谢!
格雷格
答案 0 :(得分:3)
这有效;我已经用你的所有例子对它进行了测试:
^[A-Za-z]+\.([A-Za-z]\.)?[A-Za-z]+$
说明:
^
- 锚点以匹配字符串的开头
[A-Za-z]+\.
- 匹配一个或多个字母后跟一个句号
([A-Za-z]\.)?
- 可选地匹配单个字母后跟句点
[A-Za-z]+
- 匹配一封或多次字母
$
- 锚点以匹配字符串的结尾
希望这有帮助!有关正则表达式的快速参考,请参阅here。
答案 1 :(得分:1)
您可以使用此模式:[a-zA-Z]+\.([a-zA-Z]\.)?[a-zA-Z]+
请记住,这不会强制执行名称的大写,因此“john”或“John”是有效的。您可以通过在每个名称部分的开头添加一个[A-Z]
并在[a-z]
上使剩余部分匹配来强制执行此操作,但这可能会给您的用户带来麻烦。相反,您可以在后端应用此大小写。
答案 2 :(得分:0)
你可以这样做
\w+\.\w\.\w+|\w+\.\w+
哪些人应该高兴地抓住你的好例子而忽略你的坏榜样。