new RegExp對象用於在字符串中查找你想查找的內容
new RegExp可以接受兩個參數,第一個參數是字符串或者是表達式,第二個參數是可選的,規定用什麼方式去匹配,比如new RegExp('hello','g') 全局匹配
test()方法 ——— 查找指定的內容
var content = 'Hello'; //定義一個字符串
var reg = new RegExp('e'); //定義RegExp要查找的內容 e
//var reg = /e/; 簡易寫法,表達式的方式
reg.test(content); //得到true 用RegExp的test方法去檢測 content的這個字符串裏有沒有e這個字符,如果有返回true,否則返回false。
exec()方法———查找指定的值,如果有就返回指定的值,沒有就返回null
var content = 'Hello'; //定義一個字符串
var reg = new RegExp('o'); //定義RegExp要查找的內容 o
var result = reg.exec(content) //得到 ["o", index: 4, input: "Hello"]
document.write(result); // 可以直接得到 o
獲取值:
result[0] 得到 o
result.index 得到4,4代表索引位置
result.input 得到 Hello。
compile() ——— 用於替換要查找的內容
var content = 'Hello';
var reg = new RegExp('o');
reg.compile('h') //把 o 替換成 l
var result = reg.test(content) // true
|
JsvaScript match()
語法: str.match()
作用:在字符串中查找指定的值,如果沒找到返回null,如果找到返回指定得值,有兩種情況
1. 表達式後面不加修飾參數
var str = "hello";
str.match(/e/); //["e", index: 1, input: "hello"] 數組裏有匹配到的e,也有e出現的位置。
2. 表達式後面增加修飾參數 g, 表示全局搜索
var str="hello world";
str.match(/o/g); // ["o", "o"] 檢索到2個o
JavaScript search()
語法:str.search
作用:檢索指定的值在字符串中出現的位置,如果沒找到就返回-1, 和 indexOf()方法類似,
var str="hello 123"
str.search(/\d/) // 6 匹配數字出現的位置
str.search(/o/) // 4 匹配 o
"hello 123".indexOf('1') //6
JavaScript replace()
語法:str.replace()
作用:查找並且替換內容(替換字符串中所有匹配到的內容)
var str = 'hello world hello world'
str.replace('hello', 'world') // world world hello world 替換一個hello
str.replace(/hello/g, 'world') // world world world world 替換全局hello
//第一個參數可是是正則表達式
//第二個參數要替換成什麼內容
W3C標準解釋
修飾符
i
執行對大小寫不敏感的匹配。
g
執行全局匹配(查找所有匹配而非在找到第一個匹配後停止)。
m
執行多行匹配。
方括號用於查找某個範圍內的字符:
[abc]
查找方括號之間的任何字符。
[^abc]
查找任何不在方括號之間的字符。
[0-9]
查找任何從 0 至 9 的數字。
[a-z]
查找任何從小寫 a 到小寫 z 的字符。
[A-Z]
查找任何從大寫 A 到大寫 Z 的字符。
[A-z]
查找任何從大寫 A 到小寫 z 的字符。
[adgk]
查找給定集合內的任何字符。
[^adgk]
查找給定集合外的任何字符。
(red|blue|green)
查找任何指定的選項。
元字符(Metacharacter)是擁有特殊含義的字符:
[.]
查找單個字符,除了換行和行結束符。
[\w]
查找單詞字符。
[\W]
查找非單詞字符。
[\d]
查找數字。
[\D]
查找非數字字符。
[\s]
查找空白字符。
[\S]
查找非空白字符。
[\b]
匹配單詞邊界。
[\B]
匹配非單詞邊界。
\0
查找 NUL 字符。
[\n]
查找換行符。
\f
查找換頁符。
\r
查找回車符。
\t
查找製表符。
\v
查找垂直製表符。
[\xxx]
查找以八進制數 xxx 規定的字符。
[\xdd]
查找以十六進制數 dd 規定的字符。
[\uxxxx]
查找以十六進制數 xxxx 規定的 Unicode 字符。