我正在使用一個允許使用正則表達式的NginX替換過濾器。我可以用基本的方式得到它,即用telephone
替換phone
,但我似乎無法讓它有條件地替換一串文本。我可以使用正則表達式創建條件查找和替換嗎?
這裏是XML的檢查檢查:
eat apples cantaloupe bananas often
我想執行以下規則集:
- 查找開始
eat
與often
結尾的字符串
- 如果字符串包含
bananas
,則用and especially bananas
替換bananas
- 如果字符串不包含香蕉沒有做任何字符串
我知道,我可以使用這樣的事情,使部分字符串可供選擇:
/(eat.*)(bananas)?(.*often)/
我可以使用以下治做替換假設bananas
存在:
$1 and especially $2 $3
但如果bananas
不存在,這會給一個奇怪的結果:
輸入
eat apples cantaloupe often
輸出:
eat apples cantaloupe and especially often
我需要前瞻操作?我讀過this article,但我仍然遇到麻煩。