我使用以下代码来执行"执行" mfc c ++中的正则表达式
std::wregex rx(regularExpression,nFlags);
std::wcmatch res;
std::regex_search(inputString, res, rx);
用于用户输入regularExpression
的对话框,我在inputString
中搜索。
用户可能不想使用正则表达式来查找他想要的内容,在这种情况下,我提供了一个选项"整个单词"这将匹配regularExpression
变量中的任何字符。
"整个单词"通过在regularExpression
和<
中添加封闭>
来完成,是否有任何其他特殊字符会使regex_search
方法忽略每个正则表达式特殊字符,从字面上对待它们,由<
和>
答案 0 :(得分:2)
那么我怎样才能逃脱整个字符串而不必逃避每个特殊字符呢?
C ++正则表达式不支持任何方法。如果要将用户的字符串传递给正则表达式匹配器,则必须转义每个特殊字符。
在一些正则表达式引擎中,有多种模式,其中一种模式特别默认处理特殊字符并且转义它们使它们按字面意思行事,另一种模式是字符默认情况下字面行为并且必须进行转义以便特别表现。但是C ++正则表达式不支持。