匹配逗号,不包括括号中的逗号 - Google Sheets 的 RE2
Match commas, excluding those in parentheses - RE2 for Google Sheets
好的,听我说完!我见过很多类似的 RegEx 问题,但上下文就是一切!我正在尝试将正则表达式搜索合并到 Google Sheets 函数中,该函数将匹配长字符串中的所有逗号,同时排除括号内的逗号。应该足够简单,但是,Google Sheets 使用 RE2,它显然不喜欢环顾四周,并且经常抛出令人沮丧的错误("parameter 2 value "whatever" is not a valid regular expression.")。所以,我采取的许多方法都没有成功。
我应该注意,我必须在此过程中使用 Google 表格(根据我的老板),我将数据从我们的 API 之一及其内部结构直接拉入表格API 无法更改。完全欢迎任何其他建议!
数据如下:
Almonds_111, Amaranth_222, Anchovy_333, Apple (medium, organic)_444, Apricot_5555, Artichoke_6666
我需要匹配主逗号,以便我可以用它们分隔(或更改它们并用新字符分隔),同时保持辅助逗号周围的数据完整(即“(中等,有机)”) .
这是我迄今为止尝试过的一些方法:
整洁的外观在 regex101 中有效,但在表格中无效
(?<=\d),
在表格(或 regex101 嘿)中不起作用的更复杂的外观
,(?=(((?!\]).)*\()|[^\[\)]*$)
非捕获组的尝试(另外,我一定遗漏了一些关于非捕获组与捕获组概念的东西??因为当我 运行这个...)
(?:\d)(,)
在 regex101 中正确匹配,但在表格中不匹配
,\s*(?![^()]*\))
好了,这就是要点!任何帮助,将不胜感激。谢谢!
可能适合:
=regexreplace(substitute(A1,",","#"),regexextract(substitute(A1,",","#"),"\(.+\)"),regexextract(A1,"\((.+)\)"))
好的,听我说完!我见过很多类似的 RegEx 问题,但上下文就是一切!我正在尝试将正则表达式搜索合并到 Google Sheets 函数中,该函数将匹配长字符串中的所有逗号,同时排除括号内的逗号。应该足够简单,但是,Google Sheets 使用 RE2,它显然不喜欢环顾四周,并且经常抛出令人沮丧的错误("parameter 2 value "whatever" is not a valid regular expression.")。所以,我采取的许多方法都没有成功。
我应该注意,我必须在此过程中使用 Google 表格(根据我的老板),我将数据从我们的 API 之一及其内部结构直接拉入表格API 无法更改。完全欢迎任何其他建议!
数据如下:
Almonds_111, Amaranth_222, Anchovy_333, Apple (medium, organic)_444, Apricot_5555, Artichoke_6666
我需要匹配主逗号,以便我可以用它们分隔(或更改它们并用新字符分隔),同时保持辅助逗号周围的数据完整(即“(中等,有机)”) .
这是我迄今为止尝试过的一些方法:
整洁的外观在 regex101 中有效,但在表格中无效
(?<=\d),
在表格(或 regex101 嘿)中不起作用的更复杂的外观
,(?=(((?!\]).)*\()|[^\[\)]*$)
非捕获组的尝试(另外,我一定遗漏了一些关于非捕获组与捕获组概念的东西??因为当我 运行这个...)
(?:\d)(,)
在 regex101 中正确匹配,但在表格中不匹配
,\s*(?![^()]*\))
好了,这就是要点!任何帮助,将不胜感激。谢谢!
可能适合:
=regexreplace(substitute(A1,",","#"),regexextract(substitute(A1,",","#"),"\(.+\)"),regexextract(A1,"\((.+)\)"))