Contents
- 組成元件
- Global Flag 簡介
- Global Flag - lastIndex 未手動設定
- Global Flag - lastIndex 手動設定
組成元件
- 目標字串
- 搜尋的關鍵字
- 從目標字串中找出是否存在所要的關鍵字
- JavaScript 使用方式
- new RegExp(
pattern
[ , flags
] )
pattern
代表搜尋的關鍵字
flags
的部份可有可無
- 種類
g
全域搜尋
i
不區分大小寫
m
多行搜尋
y
從指定的位置開始搜尋
- 例如
- 目標字串
- The latest airplane designs evolved from slabcraft
- 搜尋的關鍵字
- 說明
- 從
The latest airplane designs evolved from slabcraft
的目標字串中找是否存在 airplane
的關鍵字
Global Flag 簡介
g
的用意是能從目標字串中找出符合的關鍵字 ( pattern ),當使用 exec
或 test
的時候,會改變 lastIndex
的位址以供下次搜尋時,可以從上次搜尋過的地方接續搜尋
- 亦即是當目標字串中找到第一個符合關鍵字 ( pattern ) 後要再搜尋下一個符合關鍵字 ( pattern ) 的部份時,會接續從前一個搜尋到的位址之後來進行搜尋,當整個目標字串搜尋完後才會再從開頭處進行搜尋,其中紀錄位址的參數為
lastIndex
- 當尋搜到符合關鍵字 ( pattern ) 後要再從頭開始搜尋時,請先把 lastIndex 設為
0
Global Flag - lastIndex 未手動設定
目標字串 hello world 123 hello world 123 hello world 123
索引的十位數 1111111111222222222233333333334444444
索引的個位數 01234567890123456789012345678901234567890123456

1: true, lastIndex: 11
2: true, lastIndex: 27
3: true, lastIndex: 43
4: false, lastIndex: 0
5: true, lastIndex: 11
6: true, lastIndex: 27
7: true, lastIndex: 43
① 一開始從頭開始搜尋關鍵字,當搜尋到關鍵字時,則顯示 true 並顯示最後索引的位置
② 再搜尋下個關鍵字時,則從上個最後索引位置開始搜尋
③ 當目標字串搜尋完後需要在搜尋關鍵字時,則顯示 false 並顯示最後索引的位置為 0
④ 下次搜尋時則從開頭處開始搜尋
Global Flag - lastIndex 手動設定
目標字串 hello world 123 hello world 123 hello world 123
索引的十位數 1111111111222222222233333333334444444
索引的個位數 01234567890123456789012345678901234567890123456

1: true, lastIndex: 11
2: true, lastIndex: 11
3: true, lastIndex: 27
4: true, lastIndex: 43
5: false, lastIndex: 0
6: true, lastIndex: 11
7: true, lastIndex: 27
① 一開始從頭開始搜尋關鍵字,當搜尋到關鍵字時,則顯示 true 並顯示最後索引的位置
② 手動設定 lastIndex 為 0,代表要求從頭開始搜尋 ( 第 5 行處 )
③ 搜尋下個關鍵字時,則從開頭索引位置開始搜尋
④ 當目標字串搜尋完後需要在搜尋關鍵字時,則顯示 false 並顯示最後索引的位置為 0
⑤ 下次搜尋時則從開頭處開始搜尋
Reference
GitHub
List of blogs