寻找正则表达式

时间:2011-07-26 01:10:43

标签: regex

我想用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}");

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}