正则表达式选择引号外的逗号

前端之家收集整理的这篇文章主要介绍了正则表达式选择引号外的逗号前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我不太确定如果这是可能的,所以我转向你。

我想找一个正则表达式,将选出所有逗号,不在报价单。

例如:

'foo' => 'bar','foofoo' => 'bar,bar'

这将选择第1行的单个逗号,’bar’后,

我真的不在乎单个vs双引号。

有没有人有任何想法?我觉得这应该是可能与readaheads,但我的正则表达式太弱了。

这将匹配任何字符串,直到和包括第一个非引号“,”。这是你想要的吗?
/^([^"]|"[^"]*")*?(,)/

如果你想要所有的人(作为一个反例子的家伙,他说这是不可能的),你可以写:

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

这将匹配所有的。从而

'test,a "comma,",bob,sam,here'.gsub(/(,)(?=(?:[^"]|"[^"]*")*$)/,';')

用分号替换不在引号内的所有逗号,并生成

'test; a "comma,"; bob; ",";here'

如果你需要它工作在换行符只是添加m(多线)标志。

原文链接:https://www.f2er.com/regex/357816.html

猜你在找的正则表达式相关文章