【问题标题】:Regular Expression in C#.net for alphabets and optional hypenC#.net 中用于字母和可选连字符的正则表达式
【发布时间】:2011-07-14 04:13:42
【问题描述】:

我需要 .NET 中的正则表达式来验证带有字母和选项连字符的单词, 不允许使用其他特殊字符或数字

例如

ASAS-JDS
ANND-Jdsd
asdasda

我得到了字母的正则表达式

^[a-zA-Z]+$

但我还需要包含可选的连字符“-”。

【问题讨论】:

    标签: c# .net regex


    【解决方案1】:

    要么在字符类[-a-zA-Z][a-zA-Z-] 的开头或结尾放入'-' 字符(当作为第一个或最后一个字符出现时,它不会被识别为字符范围的一部分)或将其放入以转义形式出现在字符范围之外(例如[a-z\-A-Z])。

    (请注意,在后一种情况下,除非您使用以 @ 为前缀的字符串,否则您将需要对转义字符本身进行转义。即 @"[a-z\-A-Z]""[a-z\\-A-Z]")。

    【讨论】:

    • - 可以放在开头而不转义(或放在最后,如您所建议的)regular-expressions.info/charclass.html“[-x] 和 [x-] 都匹配 x 或连字符。”
    • @xanatos 正确,感谢您在回复中指出这个遗漏,我已相应更新。
    • 最终的正则表达式 ^[a-z\\-A-Z]+$ 完美运行。谢谢Cumbayah
    猜你喜欢
    • 2011-05-09
    • 1970-01-01
    • 2011-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多