我想知道我应该改变什么来使这个范围运行良好。
我需要找到的是具有以下结构的代码的所有出现:
new MyObject(parameters)
{somethingHere}
MyObject,参数和其他内容可能有任何内容。此外,(...)和{...}之间可能是新行或只是空格。
我试图做的是:
new [^(]*([^)]*)){[^}]*}
然而,这并不好用。我已尝试在http://www.regular-expressions.info/continue.html上找到一些内容,以下部分非常有前景,但失败了:http://www.regular-expressions.info/continue.html。
愿任何人给我一个暗示,我的表情应该改变什么?
此致
答案 0 :(得分:1)
答案 1 :(得分:1)
如果表达式中有以下更改,则可能会有效
new \w+\(.*\)\s{[\s\S]+?}
但是,如果任何子例程具有内部块,则它具有匹配的限制。例如,这个完全匹配
new MyObject(parameters)
{
int a;
somethingHere
}
但它只会部分匹配此代码
new MyObject(parameters)
{
int a;
somethingHere
if (a == x)
{
someotherthinghere
}
}