gpt4 book ai didi

c++ - 在 C++ [std::regex] 中替换表达式的内容

转载 作者:行者123 更新时间:2023-11-30 02:56:29 26 4
gpt4 key购买 nike

假设我们有字符串ONE|(TWO|(THREE|FOUR))...
知道 std::regex 支持递归,我们如何将这个字符串分解为一个 std::vector 字符串,其中(按顺序)包含:

  • 三|四
  • 两个|{0}
  • ONE|{1}

以上述方式转换它的目的是创建一个可遍历的表达式列表,它应该在语义上表示一个嵌套的 if/then 语句。如何实现?

最佳答案

使用正则表达式库进行词法分析对于任何重要的事情来说都是一种可怕的方式。当您获得匹配项时,如果不进行一些后期处理,您将无法知道什么匹配到了。如果您不想使用第三方库,那么您需要认真问问自己是否要为初学者编写自己的词法分析器生成器。如果您想这样做,我很乐意为您提供提示。

一旦您进行了可靠的词法分析,您会发现下一部分要容易得多。然后您可以编写一个临时解析器或继续编写您自己的解析器生成器。

关于c++ - 在 C++ [std::regex] 中替换表达式的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15456191/

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