我需要创建一个正则表达式来测试下面的数据类型,
xxx_yyy_zzz-aaa
我能够验证前两个_下划线,但无法附加 - 连字符。
@"[a-zA-Z0-9]_[a-zA-Z0-9]_[a-zA-Z0-9]s/[^-][a-zA-Z0-9]"
我正在使用c#。上面的字符数只是一个例子
答案 0 :(得分:2)
xxx_yyy_zzz-aaa
字符串表示格式为{alphanum}_{alphanum}_{alphanum}-{alphanum}
。 {alphanum}
部分的模式已经由您编写。
接下来,您需要quantify每个字母数字部分,因为只有[A-Za-z0-9]
匹配单个字母字符。使用+
匹配一个或多个匹配项,或{3}
匹配仅匹配3个,或{3,}
匹配3个或更多匹配。
这不是全部,因为您希望整个字符串与模式匹配。因此,您需要anchors,^
来匹配字符串的开头和$
(或\z
)以匹配字符串的结尾。
因此,我建议
@"^[a-zA-Z0-9]+_[a-zA-Z0-9]+_[a-zA-Z0-9]+-[a-zA-Z0-9]+\z"
请参阅regex demo。