提问人:Don Wakefield 提问时间:8/2/2022 更新时间:8/2/2022 访问量:42
奇怪的 QRegExp 来识别非 ASCII 字符
Strange QRegExp to Identify non-ASCII Characters
问:
在使用 Qt4.8、C++ 为基于 ASCII 的应用程序开发的遗留代码库中,我看到了以下几行
const QRegExp lBadCharsRegExp("[^\\x{001F}-\\x{007E}]");
// if we find a match, our string contains some bad chars
bool lMatches = xStr.contains(lBadCharsRegExp);
QRegExp 中的字符类很奇怪。看起来作者的目标是一系列十六进制字符,但不需要大括号。此外,如果我传入一个包含每个可打印字符的字符串,它只会拒绝“~”。 如果我这样做
const QRegExp lBadCharsRegExp("[^\\x001F-\\x007E]");
“~”也被接受。 有人可以解释一下吗
- 第一个 QRegExp 中的奇怪语法
- 为什么它排除了 '~'
答: 暂无答案
评论