gpt4 book ai didi

c++ - 为什么 Visual Studio 正在删除我的反斜杠字符串

转载 作者:行者123 更新时间:2023-11-30 04:42:07 27 4
gpt4 key购买 nike

我将以下字符串传递给一个函数

void func(string expr)
{
regex pattern(expr);
}

func( "(\d{1,2}\.+\d{2})" )

然而,通过 visual studio 调试器,我发现存储的正则表达式模式实际上是 (d{1,2}.+d{2}),这导致我的正则表达式完全出现故障。为什么会发生这种情况,我该如何解决。

最佳答案

那些是反斜杠,默认情况下是转义字符。将它们视为文字字符...

试试这个(在 C++11 中)。 R 表示原始字符串,其形式为 R "delimiter( raw_characters )delimiter",其中 delimiter 可以是您喜欢的任何字符序列。在本例中,我只使用了括号。

func( R"((\d{1,2}\.+\d{2}))" )

或任何版本中的这个:

func( "(\\d{1,2}\\.+\\d{2})" )

关于c++ - 为什么 Visual Studio 正在删除我的反斜杠字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58894557/

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