Windows 7 SP1
MSVS 2010
Qt 4.8.4
我正在试验 Qt Syntax Highlighter Example。
我有一个应用程序需要突出显示以连字符开头的单词。所以我修改了这段代码片段的正则表达式:
classFormat.setFontWeight(QFont::Bold);
classFormat.setForeground(Qt::darkMagenta);
rule.pattern = QRegExp("\\bQ[A-Za-z]+\\b");
rule.format = classFormat;
highlightingRules.append(rule);
突出显示以 Q 开头的单词。我将其更改为:
rule.pattern = QRegExp("\\b-[A-Za-z]+\\b");
什么也没有发生。
我试试
rule.pattern = QRegExp("\\b\\-[A-Za-z]+\\b");
没有。
出于好奇,我尝试
rule.pattern = QRegExp("\\b[-A-Za-z]+\\b");
如果我开始输入连字符,则连字符不会突出显示,并且每个其他 alpha 都会突出显示。根据如何将连字符与正则表达式匹配?这应该是犹太教的。
问题:如何编写正则表达式来突出以连字符开头的单词?