gpt4 book ai didi

c++ - 正则表达式 STL 不工作

转载 作者:行者123 更新时间:2023-11-28 07:21:04 26 4
gpt4 key购买 nike

我正在尝试验证一个字符串是否对应于一个带有 STL 的正则表达式,如下所示:

regex rgx("#^\([ \r\t\n\f]*([-]?[0-9]+)[ \r\t\n\f]*,[ \r\t\n\f]*([-]?[0-9]+)[ \r\t\n\f]*\)$#");
bool test = regex_search("(12,3)", rgx);

字符串应该匹配,但在那之后 test = false !

最佳答案

您需要将您的文字包装成原始文字:

regex rgx(R"#(^\([ \r\t\n\f]*([-]?[0-9]+)[ \r\t\n\f]*,[ \r\t\n\f]*([-]?[0-9]+)[ \r\t\n\f]*\)$)#");

顺便说一句,我相信以下正则表达式与您的相同,但更简单:

regex rgx(R"#(^\(\s*(-?\d+)\s*,\s*(-?\d+)\s*\)$)#");

或者没有原始文字:

regex rgx("^\\(\\s*(-?\\d+)\\s*,\\s*(-?\\d+)\\s*\\)$")

关于c++ - 正则表达式 STL 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19468164/

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