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

本文关键字:一个 字符 正则表达式 两个 | 更新日期: 2023-09-27 18:02:20

请原谅我,我是正则表达式的新手,所以我的语法可能有点不合适。

这是我的表达:

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

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

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

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

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

这应该可以完成工作:

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

试试这个表达式:

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

:

如果你想找到一个单引号或双引号,那么就把它们放在一个字符组中,不要在后面加上问号。

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

如果你想要1个或多个单引号或1个或多个双引号

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

如果你想要1个或多个单引号或双引号

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