国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript 學習筆記(十四) 正則表達式

2024-05-06 14:11:45
字體:
來源:轉載
供稿:網友

RegExp類
RegExp對象的構造函數可以帶一個或兩個參數
第一個參數是描述需要進行匹配的模式字符串,如果還有第二個參數,這個參數則制定了額外的處理指令。
一、基礎
1.1使用RegExp對象
test()方法
測試是否匹配。如果給定字符串(只有一個參數)匹配這個模式,它就返回true,否則返回false
代碼如下:
var sToMatch = "cat";
var reCat = /cat/; //正則表達式字面量使用Perl風格的語法
alert(reCat.test(sToMatch)); //outs "true"

exec()方法
有一個字符串參數,返回一個數組。數組中的第一個條目是第一個匹配,其他的是反向引用。(即數組中只有一個,并且是第一個匹配的)
代碼如下:
var strAAA = "a bat, a Cat, a fAt baT, a faT cat";
var regAt = new RegExp("at", "gi");
var arr = regAt.exec(strAAA); //arr[0]為"at",arr.index值為3,arr.lastIndex值為5
match()方法

返回一個包含在字符串中的所有匹配的數組。
var strAAA = "a bat, a Cat, a fAt baT, a faT cat";
var regAt = new RegExp("at", "gi");
var arrMatch = strAAA.match(regAt); //注意:字符串.match(參數是匹配字符)跟上面相反
search()方法
與indexOf()有些類似,返回在字符串中出現的一個匹配的位置。它的參數是一個RegExp對象而非僅僅一個子字符串。
代碼如下:
var strAAA = "a bat, a Cat, a fAt baT, a faT cat";
var regAt = new RegExp("at", "gi");
var index = strAAA.search(regAt); //outputs "3" 第一次出現位置是3

1.2擴展字符串方法
replace()方法
可以用第二個參數替換第一個參數,而在這里第一個參數也可以是一個正則表達式。
var strBBB = "The Sky is red.";
//將上面這句話中的所有s替換,用正則表達式找出所有匹配的
var strNewBBB = strBBB.replace(/s/gi, "##"); //把所有的“s”(不管大小寫)都替換成##
再進行升級一下,第二個參數也可以是一個函數
代碼如下:
var sToChange = "The sky is red.";
var reRed = /red/;
var sResultText = sToChange.replace(reRed, function(sMatch) {
return "blue";
});
alert(sResultText);

在這個例子中,在函數中的sMatch的值總為"red" (因為這是唯一匹配的模式)."red"的首次出現被替換為函數的返回值"blue".
附加:
對于書上這句話“因為這是唯一匹配的模式”我認為應該是這個意思吧,replace只有兩個參數,第一個參數找出來的是唯一的,那個function的參數sMatch應該就是前面的第一個參數的值,唯一匹配模式。。。
split()方法
代碼如下:
var sColor = "red,blue,yellow,green";
var reComma = //,/;
var arrColors = sColor.split(reComma); //split at each comma
alert(arrColors.length); //outputs "4"

正則表達式reComma中必須在逗號前有一個反斜杠,因為逗號在語法中有特殊含義,必須經過轉義。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 裕民县| 包头市| 育儿| 通州市| 株洲市| 星座| 汉川市| 定南县| 曲靖市| 宽甸| 托克逊县| 鄂托克前旗| 武隆县| 丹江口市| 京山县| 连江县| 大荔县| 射洪县| 同江市| 黔东| 泰和县| 南溪县| 博湖县| 江都市| 醴陵市| 南安市| 张家界市| 安陆市| 东乌珠穆沁旗| 金堂县| 清远市| 闵行区| 乌鲁木齐县| 乌审旗| 贡山| 竹溪县| 延安市| 嘉黎县| 临夏县| 天气| 安宁市|