3

请耐心等待,我是正则表达式的新手,所以我的语法可能会稍微有些出格。

这是我的表达:

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

这相当于:任意数量的空白,然后是双引号的可能性,然后是单引号的可能性,然后是任意数量的空白。

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

如何使我的表达式必须至少有 1 个双引号或至少 1 个单引号?

4

3 回答 3

4

这应该做的工作:

@"(?:\s*('|\")+\s*)"
于 2013-03-04T11:55:45.550 回答
1

试试这个表达式:

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

:D

于 2013-03-04T11:54:05.000 回答
1

如果您的意思是要找到一个单引号或一个双引号,那么只需将两者都放在一个字符组中,并且不要在其后面加上问号。

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

如果你的意思是你想要 1 个或多个单引号或 1 个或多个双引号

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

如果你的意思是你想要 1 个或多个单引号或双引号

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

于 2013-03-04T12:00:36.210 回答