我的要求是, 允许两个连续双字母。如果用户键入第三个连续字母,则必须显示验证错误。
**Ex-words like "aabbcc" should be blocked.**
我开始使用Regex类..
Match match = Regex.Match(input, @"content/([A-Za-z0-9\-]+)");
我不知道该怎么办。
答案 0 :(得分:1)
Regex.Match(input, @"(?:([A-Za-z0-9\-])\1){3}")
\1
将匹配第一个标记=第一个字符,因此(?:
内的内容基本上是 - 寻找双字符。然后,我们使用{3}
后缀,其中执行此操作3次。
因此,如果match.Success
为true
,则输入中有3个连续的双打。
如果您要扩展搜索三重或四重字母,请在\1
后加{2}
(三重测试)或{3}
进行四重测试:
@"(?:([A-Za-z0-9\-])\1{2}){3}"
- 三重测试@"(?:([A-Za-z0-9\-])\1{3}){3}"
- 四重测试测试正则表达式模式的优秀资源是:Regex 101