C#.net中的正则表达式,用于字母和可选的hypen

Bit*_*cer 2 .net c# regex

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

例如

ASAS-JDS
ANND-Jdsd
asdasda
Run Code Online (Sandbox Code Playgroud)

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

^[a-zA-Z]+$
Run Code Online (Sandbox Code Playgroud)

但我还需要包含可选的连字符" - ".

Cum*_*yah 5

在字符类的开头或结尾加上' - '字符[-a-zA-Z][a-zA-Z-](当作为第一个或最后一个字符显示时,它不被识别为字符范围的一部分)或者以转义形式放在字符外部范围(例如[a-z\-A-Z]).

(请注意,在后一种情况下,除非使用@ -prefixed字符串,否则您将需要转义转义字符本身.即,@"[a-z\-A-Z]"或者"[a-z\\-A-Z]").