g
全文搜索i
忽略大小寫m
多行搜索原意文本字符是指123等, 元字符 是在正則表達式中有特殊含義的非字母字符正則表達式
* + > & $ . | \ ( ) { } [ ]
學習
\t
水平製表符\v
垂直製表符\n
換行符符合某些特性的對象,一個泛指,而不是特指某個字符 可使用元字符
[]
構建一個簡單的類spa
例子: 3d
表達式[abc] 把字符a或b或c歸爲一類,表達式能夠匹配這類的字符, 若要匹配ab總體那就不用[]code
'a1b2c3d4'.replace(/[abc]/g, 'x') -> 'x1x2x3d4'對象
並非匹配abc一個總體blog
例子:圖片
使用元字符 ^
在中括號[]
建立反向類/負向類 ,另外一個意思是以xxx開始字符串
表達式1 把字符之外(不是字符a或b或c的內容)的進行替換 中括號裏面加 ^
it
'a1b2c3d4'.replace(/[abc]/g, 'x') -> 'axbxcxxx'
[0123456789]匹配數字 太累了
使用[a-z]鏈接兩個字符表示從a-z的任意字符 閉區間
-
並非特殊字符 若要匹配2017-03中的-
只需[0-9-]
d{3,6} 12345678 => x78
正則表達式在處理的時候會盡量多的匹配,直到匹配失敗,默認是貪婪模式
儘量少的匹配,一旦成功匹配,再也不繼續嘗試
作法很簡單,在量詞後加上?
便可
d{3,6}? 12345678 => xx78
解決匹配總體的問題
使用()
達到分組的功能,使量詞做用於分組
(byron){3}
使用|
能夠達到或的效果,加了分組能夠改變邊界
出現是變量,不是常量的概念替換, 利用$1 $2捕獲分組表明
不但願捕獲某些分組,只須要在分組內加上?:
便可
reg.objKey
當正則屢次執行test方法的時候,匹配的結果會記憶上次匹配的位置,再循環到0從新開始 也就是lastIndex
簡單解決方法是 正則不加g
標誌 自己也就是爲了看下有沒有