前端之家收集整理的这篇文章主要介绍了
正则表达式选择引号外的逗号,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我不太确定如果这是可能的,所以我转向你。
我想找一个正则表达式,将选出所有逗号,不在报价单。
例如:
'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