有人可以解释这个正则表达式QRegExp exp("// [^ \n]*");

san*_*jay 1 regex syntax qt

我正在阅读一个qt示例来理解语法高亮.我无法理解这个QRegExp exp("// [^ \n]*");

请解释一下.

Bry*_*ley 9

两个斜杠,然后是零个或多个字符,除了换行符之外的任何字符.这看起来像是一个匹配评论的正则表达式,例如:

// this is a comment
Run Code Online (Sandbox Code Playgroud)
  • // 简单地表示两个斜杠的文字序列.
  • 方括号内的东西是一组.如果以它开头^则表示"不在此组中".\n表示换行符,因此[^\n]表示"除换行符之外的任何字符".
  • 星号,*大致表示"前面的字符或组中的零个或多个".

QRegExp文档有一个相当不错的书面记录.只要有条不紊,从左到右按照自己的方式工作,以了解模式的含义.