具有多个〜(非)部分的正则表达式

时间:2011-08-27 17:06:04

标签: regex visual-studio visual-studio-2005

我正在使用以下正则表达式:

~(sizeof)\(<int|long>\)

匹配:

blah blah (int)variable blah blah
blah blah (long)variable blah blah

但不是:

blah blah sizeof(int) blah blah

这一切都有效。现在,我想进一步匹配:

HMODULE (WINAPI *fnPtr)(int) = NULL;

所以我试过了:

~(sizeof|fnPtr\))\(<int|long>\)

但仍匹配fnPtr行。我应该如何将正则表达式更改为匹配该行?

(我在Visual Studio 2005中使用正则表达式搜索。)

(我已大大简化了正则表达式,因为int|long部分确实是int|long|...,其中...约有40种其他类型。)

编辑:

没关系,我已经解决了。你需要这样做:

~(sizeof|(fnPtr.))\(<int|long>\)

fnPtr\)替换为(fnPtr.),以便.与括号匹配,以便.fnPtr相关联。< / p>

1 个答案:

答案 0 :(得分:0)

试试这个:[\w\s]+ \((int|long)\)[\w ]+

以下是演示:http://regexhero.net/tester/?id=d18853f4-a737-4509-8c7b-babd0e9272d2

注意:在我的帖子中阅读我的评论。这是标准正则表达式,而不是VS正则表达式。你可以相应地采用它。

相关问题