定義乙個字串:var str = "abcdefg"
建立正則物件:
var pattern=/abc/ <=> var pattern = new regexp("abc")
用建構函式建立時,可使用字串拼接:new regexp("a"+"b"+"c")
正則物件的方法:
pattern.test(str) 返回布林值
pattern.exec(str) 返回字串
igmi -> ignorecase 忽略大小寫,正則預設區分大小寫
var pattern=/abc/i <=> new regexp("abc","i")
g -> global 全域性匹配 多次exec可匹配不同位置的匹配值,返回的匹配陣列中的index為匹配位置
轉義字元:
\n <=> \x0a 匹配換行,後者用ascii表示
\t 匹配製表符
\s 匹配空格
\s 除空格、製表符外的字元
\b 匹配單詞邊界,如:/abc\b/ 以c為單詞邊界
\w <=> [a-za-z0-9]
\w <=> [^a-za-z0-9]
\d <=> [0-9]
特殊字元
. 匹配除換行符以外的任意字元
自定義匹配,僅匹配乙個字元
[^abc] 匹配除了a,b,c以外的任意字元
[a-c] 匹配a-c
[ \u4e00-\u9fa5] 匹配中文
[a-ca-c] 匹配a,b,c及其大寫形式
/[ab]/ <=> /a|b/
() 分組匹配
(abc) 匹配字串abc
(ab)c 若匹配成功,使用exec可以返回陣列
(ab)c\1 <=> (ab)c(ab)
字尾 或 指定個數a或個數範圍[a,b]
? 匹配個數為0或1
+ 匹配個數大於或等於1
* 匹配個數大於等於0
?的用法
字元首尾匹配
^ 首匹配
$ 尾匹配
/^abc$/
注:當^在中時,表示取反
前瞻性匹配
abc(?=def) 若匹配的字串為abcdef,則返回abc
abc(?!def) 若匹配的字串為abc***,其中***不為def,則返回abc
string物件中與正則相關的方法
str.search(pattern) 返回匹配的位置
str.match(pattern) 以陣列形式,返回匹配值,只有全域性匹配時,才會一次性把所有匹配到的值都放入陣列中
str.split(pattern) 以pattern為標誌來分割字串
str.replace(str1,str2) 把str中的str1部分替換為str2
str.replace(str1,function(){}) 匹配到一次str1,就執行一次function,若function(a)有引數a,則a為返回的匹配值
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式總結
正規表示式用於操作字串的規則,這些規則由一些符號所組成。使用正規表示式可以進行更複雜的操作,而且這種複雜的操作要比方法短的多。功能 1,匹配。使用的是string類中的matches方法。2,切割。使用的string類split方法。3,替換。4,查詢。1,將正則規則通過pattern類中的stat...
正規表示式總結
常用正規表示式總結 w w w 驗證 號碼 d d d 正確格式為 x x xx x xx x 和 xx 驗證身份證號 15位或18位數字 d d 驗證一年的12個月 0?1 9 1 0 2 正確格式為 01 09 和 1 12 驗證乙個月的31天 0?1 9 1 2 0 9 30 31 正確格式為...