【发布时间】:2022-12-04 23:09:26
【问题描述】:
我有 2 个值 - valueToSearch 和当前职业。我需要检查当前 Profession 是否包含完整的单词 valueToSearch。
我试着这样做
QRegExp rx("\b"+valueToSearch+"\b");
rx.setPatternSyntax(QRegExp::Wildcard);
qInfo()<<rx.exactMatch(currentProfession);
【问题讨论】:
-
小心在正则表达式中转义。如果您不使用原始字符串文字,您将需要 \\ 而不是 \ 尝试使用
QRegExp rx("\\b"+valueToSearch+"\\b");代替。 -
另一个很好的例子是使用正则表达式(并对此感到头疼)而不是使用简单的内置函数,例如QString::indexOf()
-
您不需要正则表达式的强大功能(和复杂性)来执行简单的子字符串搜索。
-
Jesper Juhl 你的意思是使用包含?但是,如果当前职业具有全部价值并且边界是空格或价值的结尾,我需要得到真实。但不是另一个符号。
-
drescherjm 没有工作。