JS RegExp對象 JsvaScript match() JavaScript search() JavaScript replace()

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 字符。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章