gpt4 book ai didi

正则表达式选择引号对之外的字符

转载 作者:太空宇宙 更新时间:2023-11-04 12:46:41 24 4
gpt4 key购买 nike

我想找到一个正则表达式来挑选出引号集之外的所有逗号。

例如:

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

这将在 'bar',

之后挑出第 1 行的单个逗号

我真的不关心单引号和双引号。

有人有什么想法吗?我觉得这应该可以通过预读来实现,但是我的正则表达式太弱了。

最佳答案

这将匹配任何字符串,包括第一个不带引号的“,”。这就是你想要的吗?

/^([^"]|"[^"]*")*?(,)/

如果你想要所有这些(并且作为那个说不可能的人的反例)你可以写:

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

这将匹配所有这些。因此

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

将引号内的所有逗号 not 替换为分号,并生成:

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

如果您需要它跨行工作,只需添加 m(多行)标志即可。

关于正则表达式选择引号对之外的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51215315/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com