gpt4 book ai didi

ruby - 使用正则表达式替换 Ruby 中不在引号中的所有空格

转载 作者:数据小太阳 更新时间:2023-10-29 07:21:55 25 4
gpt4 key购买 nike

我正在尝试编写一个正则表达式来替换所有未包含在引号中的空格,如下所示:

a = 4, b = 2, c = "space here"

会返回这个:

a=4,b=2,c="space here"

我花了一些时间搜索这个网站,我发现了一个类似的 q/a ( Split a string by spaces -- preserving quoted substrings -- in Python ),它将用一个标记替换引号内的所有空格,可以在删除所有其他空格后重新替换...但我希望有一种更清洁的方法。

最佳答案

值得注意的是,任何正则表达式解决方案在以下情况下都会失败:

a = 4, b = 2, c = "space" here"

虽然您确实可以构造一个正则表达式来专门处理三引号的情况,但您无法解决一般意义上的问题。这是简单 DFAs 的数学可证明限制,其中正则表达式是直接表示。要执行任何严肃的大括号/引号匹配,您将需要更强大的 pushdown automaton ,通常以文本解析器库(ANTLR、Bison、Parsec)的形式出现。

话虽如此,听起来正则表达式应该足以满足您的需求。请注意这些限制。

关于ruby - 使用正则表达式替换 Ruby 中不在引号中的所有空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/205521/

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