我想用regex验证Winforms文本框。
输入sting示例:
ZX1 OR N?V OR 2L? OR ?55
(三个符号长度字符串的任何序列,它们之间带有OR)
你建议的正则表达式是什么?
更新 尝试这个,但接缝是不是100%正确
string text = "ZX1 OR N?V OR 2L? OR ?55";
Regex r = new Regex("([0-9A-Z?]{3} OR )*[0-9A-Z?]{3}");
答案 0 :(得分:1)
"^\\s*\\S{3}(?:\\s+OR\\s+\\S{3})*\\s*$"
应该使用多种语言。
\\S
匹配任何非空格字符,
\\s
匹配任何空格字符,因此上面的正则表达式匹配由空格字符包围的字符串"OR"
分隔的任意数量的非空格字符三元组。
^
和$
用于确保它与整个字符串匹配,因此如果您想在较大的字符串中找到此模式,可以将其取出。
答案 1 :(得分:0)
您可以拥有的符号列表是什么?你最多可以有一个问号吗? 这将与您给出的内容相匹配,但也会匹配多个问号。
([A-Z?]{3} OR )*[A-Z?]{3}
答案 2 :(得分:0)
尝试...
(([\w\S]{3}\s+)or\s+)+[\w\S]{3}