簡單的字串操作

因為正規表示式可以做很多事情,所以很容易將它們用於最簡單的操作。但是使用正規表示式引擎會佔用記憶體和處理器的成本:你需要編譯表示式,將自動機儲存在記憶體中,對其進行初始化,然後使用字串對其進行處理以執行它。

在許多情況下,沒有必要使用它! 無論你選擇何種語言,它總是具有基本的字串操作工具。因此,作為一項規則,當有一個工具在標準庫中執行操作時,請使用該工具,而不是正規表示式:

  • 分裂一個字串?

例如,以下程式碼段適用於 Python,Ruby 和 Javascript:

'foo.bar'.split('.')

哪個更易於閱讀和理解,並且比(某種程度上)等效的正規表示式更有效:

(\w+)\.(\w+)
  • 剝離尾隨空間?

這同樣適用於尾隨空格!

'foobar     '.strip() # python or ruby
'foobar     '.trim() // javascript

這相當於以下表示式:

([^\n]*)\s*$ # keeping \1 in the substitution