我在创建正则表达式验证器时遇到问题,该验证器检查以确保输入仅包含大写或小写字母字符、空格、句点、下划线和破折号。无法通过搜索在线找到此示例。例如:
这些都可以:
Dr. Marshall
sam smith
.george con-stanza .great
peter.
josh_stinson
smith _.gorne
任何包含其他字符的东西都不行。那是数字,或任何其他符号。
我在创建正则表达式验证器时遇到问题,该验证器检查以确保输入仅包含大写或小写字母字符、空格、句点、下划线和破折号。无法通过搜索在线找到此示例。例如:
这些都可以:
Dr. Marshall
sam smith
.george con-stanza .great
peter.
josh_stinson
smith _.gorne
任何包含其他字符的东西都不行。那是数字,或任何其他符号。
您正在寻找的正则表达式是^[A-Za-z.\s_-]+$
^
断言正则表达式必须在主题的开头匹配[]
是一个字符类 - 允许在此表达式内匹配的任何字符A-Z
允许一系列大写字符a-z
允许一系列小写字符.
匹配句点而不是字符范围\s
匹配空格(空格和制表符)_
匹配下划线-
匹配破折号(连字符);我们将它作为字符类中的最后一个字符,因此它不会被解释为字符范围的一部分。我们也可以转义它 ( \-
) 并将其放在字符类中的任何位置,但这不太清楚+
断言前面的表达式(在我们的例子中是字符类)必须匹配一次或多次$
最后,这表明我们现在处于主题的结尾当您测试正则表达式时,您可能会发现像regexpal这样的工具很有帮助。这使您可以在编写示例数据时实时查看正则表达式匹配(或匹配失败)。