2016-05-15 63 views
2

请帮我纠正在C#这个正则表达式匹配/验证,只有当符合下列条件:正则表达式匹配特定模式

  • 始终以da/
  • 至少一个单字符开始da/
  • 只有非大写是允许的,范围从AZ(包括两端)
  • 数字0-9允许
  • 破折号被允许( - )

这是我有什么,但它不工作:接受字符串的

/^da/+[a-z0-9+-]+$/ 

的例子,将验证的正则表达式:

da/this-will-validate-correct-1 
+1

*,但不工作* - 究竟是如何不工作?请提供样本输入和预期输出。很可能你只需要'^ da/[a-z0-9 + - ] + $' –

回答

2

你的正则表达式允许1或经过/da+里面的字符类允许使用+符号。

的要求来看,你只需要

^da/[a-z0-9-]+$ 

regex demo

+字符类[a-z0-9+-]da/后,至少需要1个字符。

Regex.IsMatch("da/this-will-validate-correct-1", @"^da/[a-z0-9-]+$") 

C# demo

模式阐释

  • ^ - 字符串的开始
  • da/ - 字符的文本字符串da/
  • [a-z0-9-]+ - 1以上CHARAC从a-z0-9范围或-
  • $ - 字符串的结尾。
0

你可以试试这个^da/[a-z0-9\-]+$