正则表达式找到两个字符中的至少一个

时间:2013-03-04 11:48:04

标签: c# .net regex

请耐心等待,我是正则表达式的新手,所以我的语法可能略有不同。

这是我的表达:

"(?:\\s*[\"]?[']?\\s*)"

其中等于:任意数量的空白区域,然后是双引号的可能性,然后是单引号的可能性,然后是任意数量的空白区域。

我遇到的问题是,即使没有双引号或单引号,这仍然匹配。

如何制作表达方式,以便必须至少有1个双引号或至少1个单引号?

3 个答案:

答案 0 :(得分:4)

这应该做的工作:

@"(?:\s*('|\")+\s*)"

答案 1 :(得分:1)

试试这个表达式:

(?:\\s*[\\"\\']\\s*)

:d

答案 2 :(得分:1)

如果您的意思是想要找到一个单引号或一个双引号,那么只需将它们放在一个字符组中,不要在它后面添加问号。

(?:\s*[\"']\s*)

如果您的意思是想要一个或多个单引号或一个或多个双引号

(?:\s*([\"]+)|([']+)\s*)

如果您的意思是想要一个或多个单引号或双引号

(?:\s*[\"']+\s*)