我想找到一个正则表达式来挑选出引号集之外的所有逗号。
例如:
'foo' => 'bar',
'foofoo' => 'bar,bar'
这将在第 1 行之后挑选出单个逗号'bar',
我真的不关心单引号和双引号。
有人有什么想法吗?我觉得预读应该可以做到这一点,但我的正则表达式太弱了。
这将匹配任何字符串,直到并包括第一个不带引号的“,”。这就是你想要的吗?
/^([^"]|"[^"]*")*?(,)/
如果你想要所有这些(并且作为那个说不可能的人的反例)你可以写:
/(,)(?=(?:[^"]|"[^"]*")*$)/
这将匹配所有这些。因此
'test, a "comma,", bob, ",sam,",here'.gsub(/(,)(?=(?:[^"]|"[^"]*")*$)/,';')
替换所有逗号not在引号内加分号,并生成:
'test; a "comma,"; bob; ",sam,";here'
如果您需要它跨行工作,只需添加 m(多行)标志。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)