匹配双引号和单引号外的所有逗号的正则表达式



我试图使用以下正则表达式

匹配双引号(")外的逗号
,(?=(?:[^"]*"[^"]*")*[^"]*$)

用于单引号(')外的逗号

,(?=(?:[^']*'[^']*')*[^']*$)

我的目的是使用单个正则表达式忽略双引号内或单引号内的逗号。

"马希,ndra " , "Gulla", 40 , "te、圣", 23

你能告诉我,我该如何处理这件事吗?

我将感激你的帮助

Mahendra

这里有一些替代的解决方案

,(?=s*(?:"[^"]*"|'[^']*'|d+)(?:s*,|n))

我的方法强调验证像,"[^"]*",, ,'[^']*',,d+,这样的模式。这里的技巧是,如果匹配的起始点是正确的,那么直到该行末尾的其余匹配也将是正确的。

看到演示

你可以使用这个正则表达式:

,(?=(?:(?:[^"']*"[^"']*")|(?:[^'"]*'[^'"]*'))*[^"']*$)

它将匹配单引号和双引号外的逗号,如所提供的示例,但如果输入的引号数量为奇数,则会失败。

相关内容

  • 没有找到相关文章

最新更新