正则表达式在引号(和新行)之间匹配引号

时间:2017-01-18 14:46:17

标签: javascript regex

我尝试使用this regex找到用单引号括起来的字符串:/'+(.*?)'+,?/g

问题是字符串中只允许使用单引号,只要它们使用第二个引号进行转义:'it''s, you''ve, I''m... and so on, ends with one more single quote '''

如果内部有任何数量的单引号,我的正则表达式会中断并最终在匹配的开头和结尾跳过引号(如果有的话)。

只要没有人在字符串中添加任何引号,它似乎完美无缺。但不幸的是,这不是现实世界的运作方式。

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

1 个答案:

答案 0 :(得分:1)

试试这个正则表达式:

'(?:''|[^'])*'

解释:根据需要重复单引号(两个引号或非引号char),然后是单引号。

https://regex101.com/r/R4sd47/1