请帮助我在C#中更正此正则表达式以仅在满足以下条件时匹配/验证:


始终以da/开头
da/后至少一个字符
仅允许使用非大写字母,范围从a-z(均包括在内)
允许数字0-9
允许使用破折号(-)


这是我所拥有的,但不起作用:

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


将验证正则表达式的可接受字符串的示例:

da/this-will-validate-correct-1

最佳答案

您的正则表达式允许在/之后使用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-]+-a-z0-9范围中的1个或多个字符或-
$-字符串结尾。

关于c# - 正则表达式以匹配特定模式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37240087/

10-12 12:46