C++ 正则表达式在正则表达式测试器上传递,但在qt中失败

C++ 正则表达式在正则表达式测试器上传递,但在qt中失败,c++,regex,qt,C++,Regex,Qt,我正在使用正则表达式测试是否设置了iptables。这里是一个精简版本的什么试图实现 QRegExp rx_preroute(".*DNAT\s*udp\s*--\s*anywhere\s*192\.168\.13\.115\s*to:10\.5\.110\.123:7891.*"); QString out = "DNAT udp -- anywhere 192.168.13.115 to:10.5.110.123:7891"; qDebug

我正在使用正则表达式测试是否设置了iptables。这里是一个精简版本的什么试图实现

QRegExp rx_preroute(".*DNAT\s*udp\s*--\s*anywhere\s*192\.168\.13\.115\s*to:10\.5\.110\.123:7891.*");
QString out = "DNAT       udp  --  anywhere             192.168.13.115       to:10.5.110.123:7891";
qDebug() << rx_preroute.exactMatch(out);
//prints out false
QRegExp rx_预路由(*DNAT\s*udp\s*-\s*anywhere\s*192\.168\.13\.115\s*至:10\.5\.110\.123:7891.*);
QString out=“DNAT udp——anywhere 192.168.13.115到:10.5.110.123:7891”;


qDebug()你应该双重转义ie.
\\s
\.
而不是
\s
\.你应该双重转义ie.
\\s
\.
而不是
\s
\.
你应该双重转义ie.
\\s
\.
\.
\\>
\.

你应该双倍转义,即
\\s
\.
而不是
\s
\.

不确定,但可能你必须双倍转义,即
\\s
\.
@M42请确定,因为你绝对正确。@M42就是这样。@M42。请把它做成一个答案,我会接受的。@Alan:我已经做了一个答案。不确定,但可能你必须双重转义,即
\\s
\\。
@M42请确定,因为你绝对正确。@M42就是这样。请把它做成一个答案,我会接受的。@Alan:我已经做了一个答案。不确定,但可能你必须双重转义,即
\\s
\\。
@M42请确定,因为你绝对正确。@M42就是这样。请把它做成一个答案,我会接受的。@Alan:我已经做了一个答案。不确定,但可能你必须双重转义,即
\\s
\\。
@M42请确定,因为你绝对正确。@M42就是这样。请把它作为一个答案,我会接受它。”艾伦:我已经回答了。实际上,不需要“猜测”——C++中的双引号中的文本应该符合C++标准(草案中N2.97的2.145字符串文字)。实际上,不需要“猜测”——双引号中的C++文本应该符合C++标准。“ND97中的“2.145字符串”)实际上不需要“猜测”——C++中的双引号中的文本应该符合C++标准(草案N37中的2.145字符串文字)。实际上,不需要“猜测”——双引号中C++中的文本应该符合C++标准(草案N37中的“2.145字符串文字”)。