一、test方法
var dateStr = '2020-01-01'; var dateReg = /^\d{4}-\d{2}-\d{2}$/; console.log(dateReg.test(dateStr));//test方法用于驗證是否是滿足正則運算式格式
運行結果:

二、提取正則運算式
1. 正則物件.exec(要匹配的內容)
var qqStr = "小明:15778945869,小虎:15678645678,小紅:13848956123"; var reg = /\d+/g; do{ var content = reg.exec(qqStr);//回傳了一個陣列,索引第一個值就是匹配的內容 if(content){ console.log(content[0]); } }while(content) //可以看出來content即使是在大括號的外面也依然可以使用
運行結果:

2. 要匹配的內容.match(正則物件)
var qqStr = "小明:15778945869,小虎:15678645678,小紅:13848956123"; var reg = /\d+/g; var qqArr = qqStr.match(reg); console.log(qqArr);//回傳一個匹配所有結果的串列
運行結果:

3.分組匹配的結果
- 使用RegExp.$數字來進行提取分組運算式
var dateStr = '2020-01-01'; dateReg2 = /^(\d{4})-(\d{2})-(\d{2})$/; if(dateReg2.test(dateStr)){ console.log(RegExp.$1); console.log(RegExp.$2); console.log(RegExp.$3); }
顯示結果:

4.替換
- 要匹配的物件.replace(正則物件,新字符)
var str2 = ' it like iy d ewd dew dd '; console.log(str2.trim());//去除首尾空格 //但是我們想要取代所有的空格,那就要用正則運算式了 str3 = str2.replace(/\s/g,'*');//加上g就是非貪婪 str4 = str2.replace(/\s/,"*"); str5 = str2.replace(/\s*$/,"*"); console.log(str3); console.log(str4); console.log(str5);
顯示結果:

5.分隔
var dateStr3 = "2020-11-12"; console.log(dateStr3.split("-"));//回傳一個分割的串列
顯示結果:

6.貪婪與非貪婪
- 使用?即可實作
var str6 = "aaaaaaaaabbbbbbbbbbbbbaaaaaaaaaaaa"; var res = str6.match(/a.*b/);//默認是貪婪模式 var res2 = str6.match(/a.*?b/) console.log(res); console.log(res2);
顯示結果: 
二、原始碼:
- D25_MethodOfMatch.html
- 地址:
https://github.com/ruigege66/JavaScript/blob/master/D25_MethodOfMatch.html - 博客園:
https://www.cnblogs.com/ruigege0000/ - CSDN:
https://blog.csdn.net/weixin_44630050?t=1 - 歡迎關注微信公眾號:傅里葉變換,個人賬號,僅用于技術交流,后臺回復“禮包”獲取Java大資料學習視頻禮包

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/36907.html
標籤:JavaScript
