PCRE格式为QRegexp格式

时间:2009-09-11 02:03:43

标签: regex qt

我有一个PCRE格式的正则表达式:   的 <a\s*href=\"([^<]*)\"([^<]*)\((.*?)\)\">

但我不能在QT中使用它,我怎么能 将其转换为QRegexp格式,使其在QT中工作。

由于

1 个答案:

答案 0 :(得分:1)

你试过reading the documentation吗?特别是“Perl用户注释”一节?看起来这应该非常简单:

QRegExp regex( "<a\\s*href=\\"([^<]*)\\"([^<]*)\\((.*?)\\)\\">", 
    Qt::CaseSensitive, QRegExp:: RegExp2 );

请注意,我在那里做的只是翻倍反斜杠,因为在解释代码时C会“吃掉”一个。但是,我怀疑你希望引号双重反映,所以也许这更像是你想要的:

QRegExp regex( "<a\\s*href=\"([^<]*)\"([^<]*)\\((.*?)\\)\">", 
    Qt::CaseSensitive, QRegExp:: RegExp2 );

我也不知道为什么你要在表达式中匹配3个引号,但这超出了你所要求的范围。