我想在双引号内找到字符串,但前提是它们在指定函数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
我试图\b(?!foo\()L?"[^"]*"\b
从这个answer,但它不工作正确的。在另一行上使用结尾双引号。像这样"); // ignore<CR> foo2("
如果我想我应该包括所有格量化。不满足的子串完全排除在进一步搜索之外。但不知道如何正确地做到这一点。
需要在Embarcadero RAD Studio XE中搜索文件,但对Perl regexp语法中的任何决定感到满意。
重要:想要找到所有出现在foo
函数之外的双引号字符串的情况。并且不要被foo
中的字符串分散注意力。
好的。是否可以修改表达式以满足最后一行[link](https://regex101.com/r/qC9eB7/1)中的第二个引用词? – alexolut
哼哼...对不起,我不会为你创建的每个用例玩重构游戏。 – Cyrbil
如果你的代码版本被发现引用了一个字符串,而不是所有行都完全一致,我的澄清问题就不会出现。我不幸在示例中无法描述所有可能的选项。要理解这件事的主要原因是需要找到**所有的事件**,而不管它们在一行文本中可能的数量。不管怎么说,还是要谢谢你。 – alexolut