簡單的字串操作
因為正規表示式可以做很多事情,所以很容易將它們用於最簡單的操作。但是使用正規表示式引擎會佔用記憶體和處理器的成本:你需要編譯表示式,將自動機儲存在記憶體中,對其進行初始化,然後使用字串對其進行處理以執行它。
在許多情況下,沒有必要使用它! 無論你選擇何種語言,它總是具有基本的字串操作工具。因此,作為一項規則,當有一個工具在標準庫中執行操作時,請使用該工具,而不是正規表示式:
- 分裂一個字串?
例如,以下程式碼段適用於 Python,Ruby 和 Javascript:
'foo.bar'.split('.')
哪個更易於閱讀和理解,並且比(某種程度上)等效的正規表示式更有效:
(\w+)\.(\w+)
- 剝離尾隨空間?
這同樣適用於尾隨空格!
'foobar '.strip() # python or ruby
'foobar '.trim() // javascript
這相當於以下表示式:
([^\n]*)\s*$ # keeping \1 in the substitution