Vim 鎖定 Regex 文字取代的範圍

Vim 要選取某範圍內的內容做文字取代,可以使用 v 或 V 選取,再來做要做的事情~

  •  全部內容做文字取代
    • :%s
  • 部分內容:於 Vim 使用 V 選取後,取代選取內的部分文字(會自動變成 '<,'>,「s/.../.../g」 要自己打 )
    • :'<,'>s/match-string/replace-string/g

CloudFlare 正規表示式造成當機的始末 - 2019

CloudFlare 於 2019/7/2 發生大當機,最後查出是自己 Regex 下挫造成的問題,而寫了非常清楚又完整說明(應該是要到處跪,乾脆寫一篇清楚的說明先做點交待)

閱讀全文〈CloudFlare 正規表示式造成當機的始末 - 2019〉

使用 grep 過濾兩個檔案(不)重複的內容

Linux 常常使用 grep 來找某段字串(可以使用 regex),不過 grep 還有許多強大的功能,例如:

兩個檔案內容,想要把兩個檔案都有的內容撈出來,或者把其中 A檔案 當過濾(Filter)條件,另外 B檔案有出現 A檔案 的內容,全部過濾掉,都可以靠 grep 達成。

閱讀全文〈使用 grep 過濾兩個檔案(不)重複的內容〉

Vim 輸入部份字串 即時向上、下搜尋

Vim 可以使用 / 來做字串搜尋(含 regex 搜尋),輸入完成後,可以按 n / N 來向上、下切換同樣字串的位置。

Vim 8.0.1238 之後,支援一個新功能,只要輸入部份字串,就可以先向上、向下來搜尋,以便繼續把相關的字補齊(或者如果找到也就解決了)。

閱讀全文〈Vim 輸入部份字串 即時向上、下搜尋〉

PHP preg_replace 針對多行的 regex 判斷參數

PHP 使用 preg_replace() 要做 regex 的字串取代很方便(單行),遇到多行每次都>要測試是要用 m 還是 s,還是做個紀錄好了~

  • 先說結論:preg_replace 要對多行做 regex 判斷,要用 s

閱讀全文〈PHP preg_replace 針對多行的 regex 判斷參數〉