我想在雙引號內找到字符串,但前提是它們在指定函數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