中的文字:正則表達式搜索詞兩者是相同
PAGE 1
apple
PAGE 2
apple
banana
PAGE 3
orange
PAGE 4
banana
PAGE 5
pear
PAGE 6
apple
orange
banana
pea
我希望有一個正則表達式,會告訴我每一個頁面一個香蕉上,這是第2頁和4
事情我已經嘗試:
PAGE.*?banana.*?PAGE
但返回PAGE 1和4
PAGE(?!.*?PAGE).*?banana
這是一個嘗試向前看,並確保頁面和香蕉字之間沒有額外的頁面,但這沒有返回。
(?<=PAGE).*(?=banana)
借來自Regex, get entire string between two keywords。這是返回PAGE 1,匹配最後一個香蕉和第一頁之間的所有內容。
我認爲環顧四周就是答案,但我無法圍繞如何匹配PAGE#和香蕉,但只有PAGE#香蕉。我怎麼做?
您需要編號或整個塊? – andlrc
你只需要一個溫和的貪婪標記解決方案:['PAGE \ d + \ n((?:(?!\ bbanana \ b | \ nPAGE \ d + \ n)。)* \ bbanana \ b(?:(?!\ (* = \ nPAGE \ d + \ n | $)'](https://regex101.com/r/gE1oN3/1)。 –
我只需要這個號碼。 – Mike