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

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

由于

有帮助吗?

解决方案

您是否尝试阅读文档?特别是名为<!>的部分;用于Perl用户的注释<!>“;看起来这应该非常简单:

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

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top