gpt4 book ai didi

c++ - boost 匹配整个单词的正则表达式不起作用

转载 作者:行者123 更新时间:2023-12-02 10:11:48 25 4
gpt4 key购买 nike

我正在使用带有boost的正则表达式来搜索某个字符串中的整个单词。
来源看起来像这样:

boost::regex  regExp;
std::string searchExpression;

searchExpression = "((\\b)" + searchExpression + "(\\b)|(?<=^|\\s)" + searchExpression + "(?=\\s|$))";
regExp.assign(lConvertedSearchExpression, boost::regex_constants::normal | boost::regex_constants::icase);
searchExpression中的正则表达式在我的其他工具上运行良好。因此,我认为不会有任何错误。
但是,如果我尝试将字符串分配给 boost::regex,如示例中所示,则会出现异常。异常(exception)是来自 "(?<=^|\\s)"部分。如果我删除 "|\\s"部分,则一切工作正常。
所以我的问题是,在这些表达式中我在做什么错。我希望有人可以帮助我,并且确实会发现错误。
特别感谢所有能帮助我前进的人。

最佳答案

boost::regex文档指出,向后搜索必须为固定长度。您的后退匹配零个字符或一个字符。

关于c++ - boost 匹配整个单词的正则表达式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63243712/

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