Javascript 正则表达式在引号(和新行)之间的匹配中包含引号

Javascript 正则表达式在引号(和新行)之间的匹配中包含引号,javascript,regex,Javascript,Regex,我正在尝试查找用单引号括起来的字符串:/'+(.*?)+,?/g 问题是,只要用第二个引号转义,字符串中就允许使用单引号:“it's,you've,I'm…”。。。以此类推,最后再加上一个引号“” 我的正则表达式在有单引号的情况下会中断,如果有单引号,则会跳过匹配开始和结束时的引号 只要没有人在字符串中添加任何引号,它似乎就能完美地工作。但不幸的是,现实世界并非如此 如何使我的正则表达式在匹配中包含引号?试试这个正则表达式: '(?:''|[^'])*' 说明:单引号后跟(两个引号或一个非引号

我正在尝试查找用单引号括起来的字符串:
/'+(.*?)+,?/g

问题是,只要用第二个引号转义,字符串中就允许使用单引号:
“it's,you've,I'm…”。。。以此类推,最后再加上一个引号“”

我的正则表达式在有单引号的情况下会中断,如果有单引号,则会跳过匹配开始和结束时的引号

只要没有人在字符串中添加任何引号,它似乎就能完美地工作。但不幸的是,现实世界并非如此

如何使我的正则表达式在匹配中包含引号?

试试这个正则表达式:

'(?:''|[^'])*'
说明:单引号后跟(两个引号或一个非引号字符)必要时重复,然后是结束单引号


您确定粘贴到regex101的字符串中的引号正确吗?你应该能够正确地匹配
([^']*(?:“[^']*)”,?
-但你的示例对我来说似乎不正确。这无法识别此设置中的两个匹配项:““计划”设计”就我所知,在该序列中只有一个匹配项:
“计划”
“我的不好”。只有两个单引号才能转义为一个引号。在计划之后,该行有一个报价太多。但是,如果您在我的示例文本上尝试,您的正则表达式对其余文本不起作用。@mottosson,您能告诉我们应用正则表达式所需的确切文本吗?我们可以剪切“计划”“设计”吗?我已经修改了正则表达式以包含空字符串
'
,并使用您的输入文本块,它似乎可以正确解析它们。