我想在双引号中找到字符串,但前提是它们在指定函数foo
的调用之外使用。例如:
foo("some str1"); // ignore
foo2("another string"); // need this
"simple string"; // need this
foo(L"wide str"); // ignore
#define NAME "name" // need this
int i = foo("must be ignored"); // ignore
我在answer尝试了\b(?!foo\()L?"[^"]*"\b
,但它无法正常工作。在一行上使用结束双引号作为另一行的开头。像这样"); // ignore<CR> foo2("
如果我认为我应该包括所有格量化。子串不满足完全排除在进一步搜索之外。但不知道如何正确地做到这一点。
需要在Embarcadero RAD Studio XE中搜索文件,但对Perl regexp语法中的任何决定都表示满意。
重要:想要找到foo
函数之外的双引号字符串的所有出现。并且不要被foo
内的字符串分散注意力。
答案 0 :(得分:1)
您可以在此处尝试:https://regex101.com/r/mG7gP7/1 我匹配两个场景
答案 1 :(得分:1)
您如何看待这个one?
/(^(?!foo\()|\)).*"(.*)"/gm