gpt4 book ai didi

c++ - 使用 C++ 的正则表达式

转载 作者:行者123 更新时间:2023-11-28 01:15:58 24 4
gpt4 key购买 nike

我想创建一个正则表达式,它将只包含输入字符串 [G|y|M|d|D|F|E|h|H|m|s|S|w|W|a| z|Z] 所以我从下面想出了一些代码:

std::regex Reg = regex("[G|y|M|d|D|F|E|h|H|m|s|S|w|W|a|z|Z]");

我的问题是我的正则表达式仍然不正确,因为我的输入字符串可以包含其他字符以及上述组中的字符,例如:

std::string myInputString = Gx //correct

Gx 一定是错误的

最佳答案

我不是 C++ 的正则表达式库的用户,但我知道它支持 ECMAScript 语法。所以我认为你不需要管道字符。 “集合中的任何字符”[] 语法不使用管道。其次,如果你想匹配整个输入字符串(而不是它的任何部分),你需要使用 ^ 和 $ anchor

尝试:

std::regex( "^[GyMdDFEhHmsSwWazZ]+$" );

关于c++ - 使用 C++ 的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58722965/

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