我想在c/C++中使用regex.h使用正則表達式。 我試圖用前瞻的選項,例如:C正則表達式支持lookahead嗎?
(?=>#).*
爲了一個「#」
出於某種原因,無法找到任何匹配後提取的字符串。 regex.h支持lookahead/lookbehind?有我可以使用的另一個圖書館嗎?
我在linux上使用regex.h。
我想在c/C++中使用regex.h使用正則表達式。 我試圖用前瞻的選項,例如:C正則表達式支持lookahead嗎?
(?=>#).*
爲了一個「#」
出於某種原因,無法找到任何匹配後提取的字符串。 regex.h支持lookahead/lookbehind?有我可以使用的另一個圖書館嗎?
我在linux上使用regex.h。
我很確定NSRegularExpression只是libicu的包裝,它支持lookaheads。您的示例中有一個錯字,根據鏈接,正確的語法是(?=#).*
。
雖然這並不是真的需要,但爲什麼不是#.*
?
我懷疑這是真的看你在說什麼,而不是向前看。那將是(?<=#).*
,但爲什麼這麼複雜?爲什麼不像其他應答者所建議的那樣使用#(.*)
,並將所需的文本從捕獲組中提取出來?
另外,你真的使用NSRegularExpression?這看起來不太可能,因爲它是Apple iOS/MacOS開發者框架中的一個Objective-C類。
提到的原始問題'NSRegularExpression'; OP稍後編輯它。 –
考慮到C和C++都不支持正則表達式的本地支持,您應該讓我們知道您正在使用哪個庫(並且當您這樣做時,首先查看該庫的文檔)。 –
爲什麼首先使用lookahead呢?我認爲使用像#(。*)這樣的組合將是更常見的方法。 – FatalError