日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript 正则表达式

發布時間:2025/3/20 javascript 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript 正则表达式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JavaScript? 正則表達式

  版權聲明:未經授權,嚴禁轉載!  


正則表達式?

什么是正則表達式

  正則表達式是用來描述一種特定格式的字符規則的表達式。

  正則表達式常用語在一段文本中搜索,匹配或者替換特定形式的文本。如:詞語出現的頻率統計、驗證字符串是否符合郵箱格式、屏蔽一篇帖子中的限制性詞語等。也叫做“模式匹配”。

  正則表達式由一些普通字符和一些元字符及特殊符號組成。普通字符包括大小寫的字母和數字,而元字符則具有特殊的含義。

如何定義

使用 // 來表示一個正則表達式。

最簡單的正則表達式,就是字符串本身,比如: /hello/ 。

可以使用元字符來匹配某一些字符串,比如: /1[3579]\d{9}/ 。

正則表達式中有些字符有特殊的語法含義,是不能夠直接使用的,必須使用 \ 進行轉以后才可以使用。

.?  \?  /?  *?  ??  +?  [?  (?  )?  ]?  { ? }?  ^?  $ ? |

修飾符

模式匹配中可以使用如下三個屬性修飾符。

  

字符集

?正則表達式使用如下語法匹配一個范圍內的字符。

  

元字符

正則表達式中可以使用如下元字符來進行簡化。

  

量詞

可以使用如下特殊字符定義前一個字符的出現次數。

  

選擇和分組

使用如下語法定義子表達式分組或選擇。

  ?

指定匹配位置

可以使用如下字符進行指定位置的匹配

?  ?


正則表達式 - 查找 search() / match()

學習案例代碼

var str = "Hi,2017年6月20日,我要和Mia、Tom、Jimmy去旅游" +"啦~~23333333333~~你要去的話就和我或Mia聯系,我們的電話是" +":13519005678/15898765432。";// search() 查找。找到第一次出現指定子字符串下標的位置,如果沒找到返回-1. // 查找str中有沒有mia console.log(str.search("mia")); // -1 普通字符串查找,只能找到完全相同的。 console.log(str.search("Mia")); // 17 普通字符串查找,只能找到完全相同的。// 使用正則表達式 字符不需要加引號,普通字符串匹配需要加 console.log(str.search(/mia/)); // -1 console.log(str.search(/mia/i)); // i表示不區分大小寫 17// match() 匹配,返回找到的指定子字符串組成的數組 console.log(str.match("Mia")); // 普通的字符串查找必須相同,默認只能返回一次 console.log(str.match(/mia/i)); // 普通的字符串查找必須相同,默認只能返回一次 console.log(str.match(/mia/ig)); // g 全局匹配,不只匹配一次// 匹配 我/你 console.log(str.match(/[我你]/g)) // []表示匹配中括號中任意一個字符。匹配字符串中所有的 “我” 和 “你”// 匹配年份 // 匹配任意一個數字 console.log(str.match(/[0-9]/g)); // [0-9]表示匹配任意一個數字。 console.log(str.match(/\d/g)); // \d表示匹配任意一個數字。 console.log(str.match(/[0-9][0-9][0-9][0-9]/g)); // 匹配任意連續四個數字。 console.log(str.match(/\d\d\d\d/g)); // 匹配任意連續四個數字。// 匹配連續數字 console.log(str.match(/[0-9]{4}/g)); // 匹配連續四個數字 console.log(str.match(/\d{4}/g)); // 匹配連續四個數字 console.log(str.match(/(19|20)\d{2}年/g)); // 匹配年份 19XX年 或者 20XX年

  

?


?正則表達式 - 分割 split()

?學習代碼案例

var str ="tom , jerry, mia, jack, Tom ,mary , jimmy";// 將所有的人名存進一個數組 console.log(str.split(",")); // 使用普通字符串,只能識別一種分隔符。// 使用正則表達式 console.log(str.split(/[,,]/)); // 識別任意一種逗號。 console.log(str.split(/\s*[,,]\s*/)); // 包含逗號前后的0個或多個空格。// 將 str 字符串的每個字符分開 var str2 = "Hello World"; console.log(str2.split("")); console.log(str2.split(/\s*/)); // 以空格或非空格分割

  


正則表達式 - 替換 replace()

?學習代碼

var str = "tom , jerry, mia, jack, Tom ,mary , jimmy";// 將所有的逗號改為兩個空格。 console.log(str.replace(",", " ")); // 普通字符串 默認只能替換第一個。// 使用正則表達式 console.log(str.replace(/\s*[,,]\s*/g, " "));// 將 tom 替換為 Alice console.log(str.replace(/tom/ig, "Alice"));// 找到說有的英文名稱 console.log(str.match(/[A-z]{2,}/g)) console.log(str.match(/[A-z]+/g))console.log(str.replace(/[A-z]+/g, "***"));// 將所有的英文名稱首字符替換成大寫 console.log(str.replace(/[A-z]+/g, function (word) {var r = word.replace(word[0], word[0].toUpperCase());return r; }));// 去掉所有空格 var str1 = "a b c d e f"; console.log(str1.replace(/\s+/g,""));

  


正則表達式對象?

?

?

?

?

var s1="Hello,今天是2017.6.20,我和tom、jerry在一起玩耍。";//匹配hellovar reg1=/hello/ig;var reg2=new RegExp("hello","ig");console.log(s1.match(reg1));console.log(s1.match(reg2));//匹配連續4個數字var reg3=/[0-9]{4}/g;var reg4=new RegExp("[0-9]{4}","g");var reg5=/\d{4}/g;var reg6=new RegExp("\\d{4}","g");//使用\開頭的元字符,需要再次使用\轉義,即雙斜杠 console.log(s1.match(reg3));console.log(s1.match(reg4));console.log(s1.match(reg5));console.log(s1.match(reg6));//匹配一個.var reg7=/\./g;var reg8=new RegExp("\\.","g");//雙斜杠轉義 console.log(s1.match(reg7));console.log(s1.match(reg8));

  

?

//test(),用于檢測一個字符串是否匹配某個模式,若匹配,返回true;若不匹配,返回false//驗證密碼:要求,密碼必須是6位數字var s1="123456";// var reg=/\d{6}/;//部分匹配var reg=/^\d{6}$/;//完全匹配,^表示匹配字符串的開頭,$表示匹配字符串的結構,驗證時需要完全匹配console.log(reg.test(s1));

    

?

//exec(),查找字符串中可以匹配某個模式的子字符串,返回一個關聯數組,保存著子字符串及所在位置,若未找到,返回null//每次只能找一個,重復調用可以自動向后查找//屬性lastIndex中保存著下一次開始查找的位置,初始值為0var str="no zuo No die No can no chaochao";var reg=/no/ig;//找到所有的no及所在位置// console.log(reg.lastIndex);// console.log(reg.exec(str));// console.log(reg.lastIndex);// console.log(reg.exec(str));// console.log(reg.lastIndex);// console.log(reg.exec(str));// console.log(reg.lastIndex);// console.log(reg.exec(str));// console.log(reg.lastIndex);// console.log(reg.exec(str));// console.log(reg.lastIndex);// console.log(reg.exec(str));// console.log(reg.lastIndex);// console.log(reg.exec(str));// console.log(reg.lastIndex);do{var arr=reg.exec(str);if(arr==null) break;// console.log(arr);console.log("在"+arr["index"]+"處找到關鍵詞:"+arr[0]+",下一次開始查找的位置為:"+reg.lastIndex);}while(true)

    

?


?

結束了吧!哎!

?

轉載于:https://www.cnblogs.com/wjw1014/p/8980019.html

總結

以上是生活随笔為你收集整理的JavaScript 正则表达式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。