2013-04-05 58 views

回答

1

正則表達式不是這種方法。如果每個字符都大於上一個使用的字符,則循環遍歷字符串檢查中的所有字符str.charCodeAt()

+0

感謝您的答覆。 b – avinashr 2013-04-05 07:01:38

0

正則表達式不應該用於此。他們沒有「有記憶」,這意味着你不能動態地尋找這樣的序列。相反,您必須手動構建每個可能的可接受序列

更好的方法是使用一個for循環,通過您的字符串來運行,並進行必要的斷言,像這樣:

for (var i = 0; i < str.length; ++i) { 
    if (str.charCodeAt(i) === str.charCodeAt(i + 1) - 1 && 
     str.charCodeAt(i) === str.charCodeAt(i + 2) - 2) { 
     var ret = str.substr(i, i + 3); 
     // do whatever you want to do with the match 
    } 
} 
+0

感謝您的回覆。所以你的意思是創建一些可能的可接受序列的數組,並嘗試通過循環檢查..正確..? – avinashr 2013-04-05 06:59:36

+0

我已經更新了我的答案,以向你展示我的意思。 – 2013-04-05 07:24:44

相關問題