亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Regex > 正文

重溫JavaScript中的正則表達式 js學習筆記

2020-03-16 21:10:21
字體:
來源:轉載
供稿:網友
創建正則表達式和創建字符串類似 , 創建正則表達式提供了兩種方法 , 一種是采用 new運算符,另一個是采用字面量方式
 
 
一、創建正則表達式 

  創建正則表達式和創建字符串類似 , 創建正則表達式提供了兩種方法 , 一種是采用 new運算符,另一個是采用字面量方式。 

復制代碼代碼如下:

  var dog = new RegExp('dog'); // 第一個參數字符串 
  var dog = new RegExp('dog', 'ig'); // 第二個參數可選模式修飾符 

var dog = /dog/; 
  var dog = /dog/ig; //字面量方式。 

重溫JavaScript中的正則表達式 js學習筆記
RegExp 對象包含兩個方法 : test() 和 exec() , 功能基本相似 , 用于測試字符串匹配 。

   test()方法在字符串中查找是否存在指定的正則表達式并返回布爾值 , 如果存在則返回 true , 不存在則返回 false 。 

   exec() 方法也用于在字符串中查找指定正則表達式,如果 exec() 方法執行成功,則返回包含該查找字符串的相關信息數組。如果執行失敗,則返回 null 。

  雖然創建正則表達式對象比較簡單,但真正復雜的卻是用正則語法描述的模式信息。接下來,我們分幾個小節分別探討一些模式: 

二、字符串的正則表達式方法 

重溫JavaScript中的正則表達式 js學習筆記

例如: 

復制代碼代碼如下:

var myPattern = /dog/ig;var theStr = "this is a dog,that is a dog!"console.log(theStr.match(myPattern)); //["dog", "dog"] 
var myPattern = /dog/i;var theStr = "this is a dog,that is a dog!"console.log(theStr.search(myPattern)) //10 
var myPattern = /dog/i; //注意沒有設置全局,如果設置全局,結果為:this is a Cat,that is a Cat!var theStr = "this is a dog,that is a dog!"console.log(theStr.replace(myPattern,"Cat")); //this is a Cat,that is a dog! 
var myPattern = //s/ig;var theStr = "this is a dog,that is a dog!"console.log(theStr.split(myPattern)); //["this", "is", "a", "dog,that", "is", "a", "dog!"],這個加不加全局g沒有影響! 

二、直接量字符 
在正則表達式中,所有字母字符和數字都是按照直接量與自身匹配的。同時,正則表達式還通過反斜杠“/”加字母來支持某些非字母的字符。見下面的匹配列表: 
字符        匹配 
字母和數字     自身 例如: /a/ 匹配 字母 a 
/o         NUL字符 
/t         制表符 
/n         換行符 
/v         垂直制表符 
/f         換頁符 
/r          回車 

三、字符類 

將單獨的直接字符放進[]內,就組成了字符類。一個字符類和它所包含的任何字符都匹配。 

  例如:/[abc]/ 與abc三個字母的任意一個匹配。 
同時,還可以定義否定字符類。利用^字符。例如:/[^abc]/匹配a b c以外的所有字符。 
另,可以用連字符號確定一個字符的范圍。例如:/[a-z]/匹配a到z。要匹配所有拉丁字母集,可以使用/[a-zA-Z0-9]/ 
字符      匹配 

.        除換行符和其他Unicode行終止符之外的任意字符 
/w       任何ASCII單字字符,等價于[a-zA-Z0-9_] 
/W       任何非ASCII單字字符,等價于[^a-zA-Z0-9_] 
/s        任何Unicode空白符 
/S        任何非Unicode空白符 
/d        任何ASCII數字,等價于[0-9] 
/D        任何非ASCII數字,等價于[^0-9] 
[/b]       退格直接量 
  注意,方括號[]內也可以使用上面的轉義序列。例如/[/s/d]/ 匹配任意的空白符或數字。 

四、重復 

  根據第二節涉及到的知識,我們可以把兩位數表述成//d/d/,但,如果重復次數過多,肯定就不能這樣寫了。 
字符      匹配 
{n,m}     匹配前一項至少n次,但不超過m次 
{n,}      匹配前一項大于等于n次 

{n}       恰好n次 
?        0次或1次, 
+       1次或者多次,等價于{1,} 
*        0次或多次 
  例如://d{2,4}/ 2個、3個或4個數字。   //w{3}/d?/ 匹配3個字符,并有一個可選的數字。 
注意:/a*/實際上與bbbb是匹配的,因為0個或多個a與bbbb匹配。 

五、錨字符 
重溫JavaScript中的正則表達式 js學習筆記
六、選擇、分組和引用 

  1、字符“|”用于分隔選擇的字符。例如:/ab|cd|ef/匹配字符串ab或cd或ef。 //d{3}|[a-z]{4}/匹配3個數字或4個小寫字母 

  2、"()"作用是把單獨的項目組合成子表達式。例如:/java(script)?/ 匹配java,其后可以有script,也可以沒有。 

注意,在分組中,$1、$2、$3分別表示第幾個分組中的內容。 

  例如: 

var myPattern = /(dog).*(cat)/;var theStr = "this is a dog,that is a cat!"myPattern.exec(theStr);console.log(RegExp.$2 + " " + RegExp.$1); //cat dog console.log(RegExp.lastMatch); //最后一次匹配的項:dog,that is a cat 

七、貪婪與惰性 

 

重溫JavaScript中的正則表達式 js學習筆記
例如: 

復制代碼代碼如下:

var myPattern = /[a-z]+/;var theStr = "this is a dog,that is a cat!"console.log(theStr.replace(myPattern, "a")); //a is a dog,that is a cat! 貪婪的,把this都匹配了! 
var myPattern = /[a-z]+?/;var theStr = "this is a dog,that is a cat!"console.log(theStr.replace(myPattern, "a")); //ahis is a dog,that is a cat! 非貪婪的,只把this中的t匹配了! 

最后,RegExp實例繼承的toLocaleString()和toString()方法都會返回正則表達式的字面量,即/abc/

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品色欧美aⅴ一区二区| 国产成+人+综合+亚洲欧美丁香花| 日韩成人在线网站| 国产婷婷成人久久av免费高清| 国产伊人精品在线| 国产欧美精品va在线观看| 亚洲日本中文字幕| 欧美一级黑人aaaaaaa做受| 性色av一区二区三区红粉影视| 日韩国产精品亚洲а∨天堂免| 国产精品偷伦免费视频观看的| 亚洲成成品网站| 国产美女搞久久| 欧美肥老太性生活视频| 久99久在线视频| 亚洲第一精品自拍| 欧美电影免费观看大全| 国产亚洲福利一区| 在线精品91av| 91色视频在线导航| 欧美老女人bb| 亚洲国产精品一区二区久| 一区二区亚洲精品国产| 午夜精品久久久久久久99热| 日韩av成人在线| 国产精品老女人精品视频| 国产精品福利观看| 亚洲精品理论电影| 国产精品一区二区电影| 欧美日韩精品在线视频| 亚洲国产精品99久久| 国产日韩欧美视频| 最近日韩中文字幕中文| 97免费中文视频在线观看| 色婷婷成人综合| 久久久久久久久电影| 色偷偷888欧美精品久久久| 97香蕉久久夜色精品国产| 亚洲网站视频福利| 国产成人+综合亚洲+天堂| 91av视频在线播放| 久久国产精品久久久久久| 日韩在线观看免费| 久久成人18免费网站| 国产精品96久久久久久又黄又硬| 亚洲精品www久久久| 亚洲国产一区二区三区在线观看| 精品日韩中文字幕| 国产精品久久久久99| 国产成人精品久久二区二区91| 一个色综合导航| 欧美视频13p| 色综合久久天天综线观看| 国产主播在线一区| 国产精品久久二区| 不卡av在线播放| 欧美中文字幕在线观看| 精品亚洲一区二区三区四区五区| 成人在线播放av| 中文字幕日韩欧美在线| 国内外成人免费激情在线视频网站| 日韩av中文字幕在线播放| 91在线看www| 亚洲风情亚aⅴ在线发布| 亚洲欧美日韩第一区| 亚洲人高潮女人毛茸茸| 日本亚洲欧洲色| 奇米一区二区三区四区久久| 日韩av免费观影| 成人中心免费视频| 中文亚洲视频在线| 国内伊人久久久久久网站视频| x99av成人免费| 91久久久久久国产精品| 久久成年人视频| 国语自产偷拍精品视频偷| 91国偷自产一区二区三区的观看方式| 欧美www视频在线观看| 精品国偷自产在线视频| 91欧美日韩一区| 中文字幕日韩av电影| 国产综合香蕉五月婷在线| 欧美一级淫片aaaaaaa视频| 国产精品99久久99久久久二8| 91视频国产一区| 久久影视三级福利片| 这里只有精品在线播放| 日韩视频在线观看免费| 日本人成精品视频在线| 午夜精品一区二区三区在线| 日韩av123| 国产精品扒开腿做爽爽爽的视频| 91大神福利视频在线| 国产精品www网站| 日韩av色综合| 亚洲伊人久久综合| 91国自产精品中文字幕亚洲| 中文字幕在线成人| 亚洲综合在线做性| 8050国产精品久久久久久| 欧美日韩国产一区在线| 亚洲第一天堂无码专区| 亚洲国产另类 国产精品国产免费| 亚洲欧美国产一区二区三区| 欧美日韩国产91| 亚洲人成五月天| 亚洲韩国日本中文字幕| 日韩成人免费视频| 亚洲开心激情网| 亚洲天堂av高清| 日韩av在线免费看| 色综合久综合久久综合久鬼88| 亚洲激情视频在线| 欧美亚洲第一区| 国产精品免费久久久久影院| 美女精品久久久| 精品久久久久久久久久ntr影视| 色综合伊人色综合网站| 国产精品久久久久久一区二区| 7m精品福利视频导航| 亚洲国产天堂久久综合网| 欧美性高潮床叫视频| 亚洲va电影大全| 色综合亚洲精品激情狠狠| 国产亚洲xxx| 欧美日韩另类在线| 一级做a爰片久久毛片美女图片| 91久久精品美女高潮| 91精品国产亚洲| 国产精品免费视频xxxx| 亚洲第一福利在线观看| 欧美极品美女视频网站在线观看免费| 国产欧美一区二区三区视频| 国产精品久久久久久久app| 欧美超级乱淫片喷水| 欧美日韩午夜剧场| 在线日韩欧美视频| 国产精品白嫩初高中害羞小美女| 中文字幕在线看视频国产欧美| 91精品综合视频| 啊v视频在线一区二区三区| 久久精品国产综合| 久久久精品影院| 日韩欧中文字幕| 日本久久久久亚洲中字幕| 成人在线国产精品| 最近的2019中文字幕免费一页| 亚洲国产高清高潮精品美女| 九九久久久久久久久激情| 97欧美精品一区二区三区| www.99久久热国产日韩欧美.com| 国产欧美欧洲在线观看| 日韩av一区二区在线观看| 亚洲欧美中文日韩在线| 亚洲精品小视频在线观看| 日韩av毛片网| 亚洲视频在线观看| 国产精品久久久久久久久久小说| 亚洲va国产va天堂va久久| 国产日韩在线免费| 精品国产福利视频| 久久综合久中文字幕青草| 成人午夜高潮视频| 成人国产精品久久久|