2016-09-07 101 views
0

我对VS2010有一点问题。 所以我想找到一个正则表达式之间的某些字符串,但仅当该行不包含单个“tr”或“QObject :: tr”示例时:正则表达式查找字符串用引号括起

我想要显示所有这些行:

Hallotr("asa"); 

("hhajkshjkas"); 

( _"hhajkshjkas"); 

但不想显示该行:

tr("hhajkshjkas"); 

QObject::tr("hhajkshjkas"); 

我的正则表达式如下:

[^t-r]"[a-zA-Z0-9<>=\\"" ]*^[^tr]*"[a-zA-Z0-9<>=\\"" ]*"

但它显示所有行,即使在字符串的开始处有单个tr。或者它只显示不包含tr的行。

感谢您的帮助。

+0

尝试'^(*(?:QObject的:?!?:) TR)* “[^”] * myvalue的[^ “] *”' –

+0

感谢您的快速respons但它不起作用:( –

+0

好吧,它适用于http://www.regexpal.com/,它的工作方式,我想它,所以首先感谢,但它似乎并没有在Visual Studio 2010。同样适用于regex101.com –

回答

0

所以我得到了解决方案,这是我的正则表达式。 :

^~((.*QObject.+tr)|(:b*tr:b*\()).*:q

相关问题