JS中正則方法的使用

2021-08-27 12:25:40 字數 2238 閱讀 5526

js中使用正則的方法很多

一、string物件有四種使用正規表示式的方法:

(1)search 方法:返回與正規表示式查詢內容匹配的第乙個子字串的位置(偏移位)。

stringobj.search(rgexp)

引數:stringobj 必選項。要在其上進行查詢的 string 物件或字串文字。

rgexp 必選項。包含正規表示式模式和可用標誌的正規表示式物件。

(2)replace 方法:返回根據正規表示式進行文字替換後的字串的複製。

stringobj.replace(rgexp, replacetext)

引數:stringobj 必選項。要執行該替換的 string 物件或字串文字。該字串不會被 replace 方法修改。

rgexp 必選項。為包含正規表示式模式或可用標誌的正規表示式物件。也可以是 string 物件或文字。如果 rgexp 不是正規表示式物件,它將被轉換為字串,並進行精確的查詢;不要嘗試將字串轉化為正規表示式。

replacetext 必選項。是乙個string 物件或字串文字,對於stringobj 中每個匹配 rgexp 中的位置都用該物件所包含的文字加以替換。在 jscript 5.5 或更新版本中,replacetext 引數也可以是返回替換文字的函式。 說明 replace 方法的結果是乙個完成了指定替換的 stringobj 物件的複製。意思為匹配的項進行指定替換,其它不變作為stringobj的原樣返回。 ecmascript v3 規定,replace() 方法的引數 replacement 可以是函式而不是字串。在這種情況下,每個匹配都呼叫該函式,它返回的字串將作為替換文字使用。該函式的第乙個引數是匹配模式的字串。接下來的引數是與模式中的子表示式匹配的字串,可以有 0 個或多個這樣的引數。接下來的引數是乙個整數,宣告了匹配在 stringobject 中出現的位置。最後乙個引數是 stringobject 本身。結果為將每一匹配的子字串替換為函式呼叫的相應返回值的字串值。函式作參可以進行更為複雜的操作。

(3)match 方法:使用正規表示式模式對字串執行查詢,並將包含查詢的結果作為陣列返回。

stringobj.match(rgexp) 

引數:stringobj必選項。對其進行查詢的 string 物件或字串文字。

rgexp必選項。為包含正規表示式模式和可用標誌的正規表示式物件。也可以是包含正規表示式模式和可用標誌的變數名或字串文字。其餘說明與exec一樣,不同的是如果match的表示式匹配了全域性標記g將出現所有匹配項,而不用迴圈,但所有匹配中不會包含子匹配項。

(4)split 方法:將乙個字串分割為子字串,然後將結果作為字串陣列返回。

stringobj.split([separator[, limit]])

引數:

stringobj必選項。要被分解的 string 物件或文字。該物件不會被 split 方法修改。

separator可選項。字串或 正規表示式 物件,它標識了分隔字串時使用的是乙個還是多個字元。如果忽略該選項,返回包含整個字串的單一元素陣列。

limit可選項。該值用來限制返回陣列中的元素個數。

說明:split 方法的結果是乙個字串陣列,在 stingobj 中每個出現 separator 的位置都要進行分解。separator 不作為任何陣列元素的部分返回。

二、regexp物件定義了兩個用於模式匹配的方法,它們是exec()和test()

(1)exec 方法:用正規表示式模式在字串中查詢,並返回該查詢結果的第乙個值(陣列),如果匹配失敗,返回null。

rgexp.exec(str)

引數:rgexp 必選項。包含正規表示式模式和可用標誌的正規表示式物件。

str 必選項。要在其中執行查詢的 string 物件或字串文字。

返回陣列包含: input:整個被查詢的字串的值;

index:匹配結果所在的位置(位);

lastinput:下一次匹配結果的位置;

arr:結果值,arr[0]全匹配結果,arr[1,2...]為表示式內()的子匹配,由左至右為1,2...。

(2)test 方法:返回乙個 boolean 值,它指出在被查詢的字串中是否匹配給出的正規表示式。

rgexp.test(str)

引數:

rgexp必選項。包含正規表示式模式或可用標誌的正規表示式物件。

str必選項。要在其上測試查詢的字串。

說明:test 方法檢查字串是否與給出的正規表示式模式相匹配,如果是則返回 true,否則就返回 false。

JS中正則式reg問題

先來看看下面這段 var flag true var reg 0 9 10 g var iptlist ipinter for i 0 iconsole.log flag 這段 中 iplist 每個的值 value 都為 0 正規表示式的作用是匹配 0 10 的數字 但是結果輸出卻為 false ...

js中正規表示式的基本使用

search基本使用 var str abcabcabc var n str.search bc i console.log n 1 返回的是第一次匹配到的下標 var str abcabcabc var n str.search bc 會自動轉換為正則處理 console.log n 1 返回的是...

Swift中正則使用正則的幾種方式

之前記錄了用正則驗證郵箱位址 下面我也記錄一下用其它方法使用正則 如下,查詢字串內是否有大寫字母,注意rangeofstring方法的第二個引數是.regularexpressionsearch 正則查詢。這個不能寫錯了。let testregex a z let word abc let rang...