正則表達式replace()函數:
此函數用指定的字符串替換字符串中與正則表達式匹配的子字符串。
返回值是一個替換后的新字符串。
這里只介紹正則表達式的相關操作,其他替換操作可以參閱javascript的String對象的replace()方法一文。
語法結構:
stringObject.replace(regexp,replacement)
參數列表如下:
參數名稱 | 語義解釋 |
regexp | 必需。RegExp對象。 |
replacement | 必需。一個字符串值。規定了替換文本或生成替換文本的函數。 |
實例代碼:
<script>var str="I love jb51";var reg=/j(?:/w)+1/;console.log(str.replace(reg,"girls"));</script>
以上代碼可以將字符串中能夠被正則表達式匹配的子字符串替換為"girls"。
特別說明:
replacement可以是字符串,也可以是函數。如果它是字符串,那么每個匹配都將由字符串替換。
replacement中的$字符可以具有特定的含義,如下表所示:
字符 | 語義解釋 |
$1、$2、...、$9 | 與 regexp 中的第1到第9個子表達式相匹配的文本。 |
$& | 與regexp相匹配的子串。 |
$$ | 直接量符號。 |
$` | input字符串中lastMatch之前的文本。 |
$' | input字符串中lastMatch之后的文本。 |
如果replacement是函數,具體用法可以參閱javascript的replace()第二個參數為函數時的參數一章節。
實例代碼:
<script>var str="jb51,net"; var newStr=str.replace(/(/w+),(/w+)/,"$2 $1"); console.log(newStr);</script>
輸出:net jb51
函數功能:replace函數返回根據正則表達式進行文字替換后的字符串的復制。
函數格式:stringObj.replace(rgExp, replaceText)
參數:字符串stringObj,rgExp正則表達式,replaceText所替換的內容
本文涉及的內容包括字符串創建,正則表達式隱式創建對象,創建正則表達式,進行replace方法的使用匹配
示例代碼:
<html> <script language="javascript" type="text/javascript"> //要替換的字符串的內容 var objStr=new String("Designed By Androidyue"); //隱式創建正則表達式對象 var reG=/e/w?/g;//全局匹配(g為全局匹配參數),匹配e或者e?內容 var re=/e/w?/;//沒有指定參數,值進行一次匹配 with(document){ write("進行匹配前的字符串"+objStr+"<br>"); write("進行了全局匹配的字符串"+objStr.replace(reG,"**")+"<br>"); write("進行匹配,沒有指定參數值進行一次匹配"+objStr.replace(re,"××")); } </script> </html>
關于正則表達式我會寫幾篇文章介紹,當然最好的方法就是自己嘗試寫一些東西
新聞熱點
疑難解答
圖片精選