我正在努力创建一个QRegExp来匹配字符串(??)(即:一个开头的括号,两个问号和一个结尾的括号),这应该是一个单独的单词,因此在此之前和之后可以是空格,标签,换行符),我想出的最接近的是QRegExp("\\b\\(\\?\\?\\)\\b");
,但即使它与之不匹配,您也可以帮助我吗?
谢谢
F。
最佳答案
我不知道QRegexp,但是\b
仅在字母数字字符和非字母数字字符之间匹配,因此您的正则表达式仅在直接由数字包围的情况下才匹配(??)
(例如abc(??)123
)。
因此,您需要另一种方法。希望QRegexp支持环视,您可以使用
QRegExp("(?<=\\s|^)\\(\\?\\?\\)(?=\\s|$)");
因此,正则表达式会检查
(??)
之前/之后是否存在空格或字符串的开头/结尾。如果这不起作用,则必须显式地匹配空白:
QRegExp("(?:\\s|^)\\(\\?\\?\\)(?:\\s|$)");