2012-01-21 49 views
0

的幾個例子:正則表達式與間隔短語匹配的非間隔短語

  • 「ilikestackoverflow」將匹配「我喜歡計算器」
  • 「thisisanotherexample」將匹配「這是另一個例子」

我意識到我可以刪除右手上的空格以匹配左手,但是我可以通過從左到右來節省大量空間和處理時間。

+0

如何使用正則表達式節省空間或時間? – Marcin

回答

0

刪除右側的空間比使用正則表達式解析器(類似於狀態機)嘗試每個單一組合並每次回溯更快。

請問A BC是否匹配ABC

的正則表達式可以^A\s?B\s?C$

  1. 我有一個第一? 繼續
  2. 我有空間嗎? 繼續
  3. 我有B嗎? 繼續
  4. 我有空間嗎? skip(因爲?意思是0或1)
  5. 我有C嗎? 是的繼續
  6. 我在字符串的末尾嗎? 在這裏完成。

比較兩個字符串要輕得多,而且會更快。

2
 
var spaced = 'i like stack over flow'; 
var nonSpaced = 'ilikestackoverflow'; 

console.log(spaced.split(' ').join('') == nonSpaced); // true 

使用split(' ').join('')當你想取代基本的東西。在這種情況下,不需要使用正則表達式,這將比正則表達式好得多。

相關問題