我想使用QRegExp来检测像正则表达式一样的Postgres。对于QRegExp,doc说"要在正则表达式中包含\,请输入两次,即\"
示例:美元金额:
\$[0-9]+.[0-9][0-9]
要使用QRegExp成功匹配,它应该有两个\\
,如:
\\$[0-9]+.[0-9][0-9]
这是一个例子,但有没有办法确保它始终匹配正确?我在考虑用\
替换所有\\
?
由于
答案 0 :(得分:1)
使用新改进的QRegularExpression而不是QRegExp。在(几乎)各方面都比旧的好得多。
关于您的问题:您可以使用QRegularExpression :: escape()来执行您所谈到的替换。但是,这对整个模式字符串没有用,因为它取代了所有保留字符。但是,它可用于组合模式的子字符串。
关于你的例子......你只需要手动处理这个问题。您可以创建有效的模式。
请注意,还有其他C / C ++转义。这意味着要创建两个反斜杠" \\"在C / C ++中,你需要其中4个" \\\\"。