我試過尋找這個廣泛的,有類似的問題,但我還沒有能夠弄清楚這一點。正則表達式,兩個字符之間的一切除了逃脫字符
我的問題是,我有,等等,這種形式的字符串:
%Aliquam hendrerit mollis pretium! Praesent id%
%molestie \*libero vel\%\% pulvinar? Sed%
\%% urna. \% Fusce% in *sapien %mau\*ris.%
我想選擇兩個%s的一切,忽略其中的字符由\ preceeded情況。第一個是微不足道的,我有辦法做第二個。第三個,但我無法弄清楚。爲了澄清,從上面的文字我要選擇以下內容:
「!%Aliquam hendrerit油樹的Pretium Praesent ID%」
「%molestie *自由人韋爾\%\%枕桑達%?」
「%烏仁娜。\%Fusce%」
「%茅* RIS%」
要指出的是,原文可以是一個很長的字符串的一部分,而不換行,即每一行不一定出現在上面新的線路。
這到目前爲止,我寫了下面的正則表達式,這似乎是能夠匹配除了最後一個一切:
(?<!\\)%([^%]*)(?!%\\)(?:%|(.*)%)(?<!\\%)
對於最後一個則選擇:
「%烏仁娜\% Fusce%in * sapien%mau * ris。%「
這是太多了。我真的不明白爲什麼它會這樣做,也許是因爲我的正則表達式的條件?任何幫助深表感謝!
難道你不能在第二步中去掉轉義字符嗎?單曲/\\.// g'。而且我有點困惑,你是否想要忽略所有逃脫的字符,或只忽略百分號?您的問題表明預期結果與您的示例不同。 – knittl
問題是,逃脫的字符是允許的,所以我不能把它們去掉。我會編輯主要帖子,希望能夠澄清混亂,對此感到抱歉!編輯:我編輯主要職位正確的例子,我想能夠選擇。 – Scheme