js中與字符串、正則表達式有關的函數

直接量語法
/pattern/attributes

創建 RegExp 對象的語法:
new RegExp(pattern, attributes);

參數
參數 pattern 是一個字符串,指定了正則表達式的模式或其他正則表達式。
參數 attributes 是一個可選的字符串,包含屬性 "g"、"i" 和 "m",分別用於指定全局匹配、區分大小寫的匹配和多行匹配。ECMAScript 標準化之前,不支持 m 屬性。如果 pattern 是正則表達式,而不是字符串,則必須省略該參數。

返回值
一個新的 RegExp 對象,具有指定的模式和標誌。如果參數 pattern 是正則表達式而不是字符串,那麼 RegExp() 構造函數將用與指定的 RegExp 相同的模式和標誌創建一個新的 RegExp 對象。
如果不用 new 運算符,而將 RegExp() 作爲函數調用,那麼它的行爲與用 new 運算符調用時一樣,只是當 pattern 是正則表達式時,它只返回 pattern,而不再創建一個新的 RegExp 對象。

    let a = '1234567890123';
    let b = /1/g;                    // 這個纔是標準
    // 等於 b = new RegExp(/1/, 'g')    // 這個也是標準,下面沒報錯,但不推薦
    // 等於 b = new RegExp(/1/g)
    // 等於 b = RegExp(/1/g)
    // 等於 b = RegExp(/1/, 'g')
    a.replace(b,'') // "23456789023"

使用字符串方法
字符串方法 : str.search(regular) 、str.replace(regular)、regular.test(str)

search() 方法 用於檢索字符串中指定的子字符串,或檢索與正則表達式相匹配的子字符串,並返回子串的起始位置,只會但會第一個的位置,0開始;如果沒有找到任何匹配的子串,則返回 -1。

        a.search(b)//0

replace() 方法 用於在字符串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的子串。

        a.replace(b,'') // "23456789023"

test(yourString):檢測一個字符串是否匹配某個模式。該方法將忽略"g"標誌和正則對象的lastIndex屬性(即總是從開頭找起),只要查找到符合模式的字符串即匹配成功。

        b.test(a)//true





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章