我正在尝试使用 Snowflakes 正则表达式实现,我刚刚发现它是 POSIX BRE/ERE。我以前制作了一个正则表达式,以允许我使用自定义分隔符(用于文本文件解析)识别不在双引号字符串部分中的所有逗号。
示例文本字符串:
"Foreign Corporate Name Registration","99999","Valuation Research",,"Active Name",02/09/2020,"02/09/2020","NEVADA","UNITED STATES",,,"123 SOME STREET",,"MILWAUKEE","WI","53202","UNITED STATES","123 SOME STREET",,"MILWAUKEE","WI","53202","UNITED STATES",,,,,,,,,,,,
正则表达式命令和替换(在regex101.com中工作):
([("].*?["])*?(,)
\1#^#
Regex101.com(和所需)结果:
"Foreign Corporate Name Registration"#^#"99999"#^#"Valuation Research"#^##^#"Active Name"#^#02/09/2020#^#"02/09/2020"#^#"NEVADA"#^#"UNITED STATES"#^##^##^#"123 SOME STREET"#^##^#"MILWAUKEE"#^#"WI"#^#"53202"#^#"UNITED STATES"#^#"123 SOME STREET"#^##^#"MILWAUKEE"#^#"WI"#^#"53202"#^#"UNITED STATES"#^##^##^##^##^##^##^##^##^##^##^##^#
所以,鉴于我现在才发现我不能使用惰性量词,任何 uber-regex'ers 都可以建议我如何在符合 POSIX BRE/ERE 的同时更改我的表达式以返回相同的结果?