亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > 淺談正則表達式 實例入門

淺談正則表達式 實例入門

熱門標簽:惠安地圖標注 上海銷售電銷機器人軟件 山東外呼系統聯系方式 哈爾濱公司外呼系統代理 淄博市張店區地圖標注 地圖標注店鋪地圖標注酒店 遼寧秒客來電話機器人 自己做的電銷機器人 浙江營銷外呼系統有哪些
很長時間沒看 正則表達式了,碰巧今天用到,溫故知新了一把 看書學習吧
50% 的舉一反三練習中的原創。
一 javascript正則表達式的基本知識
1 javascript 正則對象創建 和用法
聲明javascript 正則表達式
復制代碼 代碼如下:

var reCat = new RegExp("cat");
你也可以
var reCat = /cat/; //Perl 風格 (推薦)

2 學習最常用的 test exec match search replace split 6個方法
1) test 檢查指定的字符串是否存在
復制代碼 代碼如下:

var data = "123123";
var reCat = /123/gi;
alert(reCat.test(data)); //true
//檢查字符是否存在 g 繼續往下走 i 不區分大小寫

2) exec 返回查詢值
復制代碼 代碼如下:

var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
var reCat = /cat/i;
alert(reCat.exec(data)); //Cat

3)match 得到查詢數組
復制代碼 代碼如下:

var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
var reCat = /cat/gi;
var arrMactches = data.match(reCat)
for (var i=0;i arrMactches.length ; i++)
{
alert(arrMactches[i]); //Cat cat
}

4) search 返回搜索位置 類似于indexof
復制代碼 代碼如下:

var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
var reCat = /cat/gi;
alert(data.search(reCat)); //23

5) replace 替換字符 利用正則替換
復制代碼 代碼如下:

var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
var reCat = /cat/gi;
alert(data.replace(reCat,"libinqq"));

6)split 利用正則分割數組
復制代碼 代碼如下:

var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
var reCat = /\,/;
var arrdata = data.split(reCat);
for (var i = 0; i arrdata.length; i++)
{
alert(arrdata[i]);
}

3 學習下 簡單類 負向類 范圍類 組合類
復制代碼 代碼如下:

//簡單類
var data = "1libinqq,2libinqq,3libinqq,4libinqq";
var reCat = /[123]libinqq/gi;
var arrdata = data.match(reCat);
for (var i = 0; i arrdata.length; i++)
{
alert(arrdata[i]); // 1libinqq 2libinqq 3libinqq
}
//負向類
var data = "alibinqq,1libinqq,2libinqq,3libinqq,4libinqq"; //\u0062cf
var reCat = /[^a123]libinqq/gi;
var arrdata = data.match(reCat);
for (var i = 0; i arrdata.length; i++)
{
alert(arrdata[i]); //4libinqq
}
//范圍類
var data = "libinqq1,libinqq2,libinqq3,libinqq4,libinqq5"; //\u0062cf
var reCat = /libinqq[2-3]/gi;
var arrdata = data.match(reCat);
for (var i = 0; i arrdata.length; i++)
{
alert(arrdata[i]); // libinqq2 libinqq3
}
//組合類
var data = "a,b,c,w,1,2,3,5"; //\u0062cf
var reCat = /[a-q1-4\n]/gi;
var arrdata = data.match(reCat);
for (var i = 0; i arrdata.length; i++)
{
alert(arrdata[i]); // a b c 1 2 3
}

這些都是 js正則 最基本的使用方法,看不會的請復制到筆記本練習下,看會了再往下面看。
二 javascript 正則表達式是分組知識
1) 簡單分組
復制代碼 代碼如下:

script language="JavaScript">
!--
/*正則表達式 簡單的分組
舉例 我們要查找字符串 MouseMouse
var reCat = /MouseMouse/gi;
盡管這是可以的,但是有點浪費。如果不知道Mouse 在字符串中到底出現幾次時該怎么辦,如果重復多次呢。
var reCat = /(mouse){2}/gi; 括號的意思列Mouse 將在一行連續出現2次。
*/
var data = "Ah-mousemouse";
var reCat = /(mouse){2}/gi;
var arrdata = data.match(reCat);
for (var i = 0; i arrdata.length; i++)
{
alert(arrdata[i]);
}
//-->
/script>

2 復雜分組
復制代碼 代碼如下:

script language="JavaScript">
!--
/*正則表達式 復雜的分組
? 零次 或 一次
* 零次 或 多次
+ 最少一次 或 多次
*/
var data = "bb ba da bad dad aa ";
var reCat = /([bd]ad?)/gi; // 匹配出 ba da bad dad
var arrdata = data.match(reCat);
for (var i = 0; i arrdata.length; i++)
{
alert(arrdata[i]);
}
// 同時 也不介意將分組放在分組中間
// var re = /(mom( and dad)?)/; 匹配出 mom 或 mon and daa
//-->
/script>

3 反向引用
復制代碼 代碼如下:

script language="JavaScript">
!--
/*正則表達式 反向引用*/
var sToMatch = "#123456789";
var reNumbers = /#(\d+)/;
reNumbers.test(sToMatch);
alert(RegExp.$1);
/*
這個例子嘗試匹配后面跟著幾個或多個數字的鎊符合,并對數字進行分組
以存儲他們。在調用 test 方法后,所有的反向引用都保存到了 RegExp 構造函數中
從 RegExp.$1(它保存了第一個反向引用)開始,如果還有第二個反向引用,就是
RegExp.$2,如果還有第三個反向引用存在,就是 RegExp.$3.依此類推。因為該組
匹配了 “123456780”,所以 RegExp.$1 中就存儲了這個字符串。
*/
var sToChange = "1234 5678";
var reMatch = /(\d{4}) (\d{4})/;
var sNew = sToChange.replace(reMatch,"$2 $1");
alert(sNew);
/*
在這個例子中,正則表達式有兩個分組,每一個分組有四個數字。在 replace() 方法的第二個參數
中,$2 等同于 “5678” ,而 $1 等同于 “1234”,對應于它們在表達式中的出現順序。
*/
//-->
/script>

4 候選
復制代碼 代碼如下:

script language="JavaScript">
!--
/*正則表達式 候選 */
var sToMatch1 = "red";
var sToMatch2 = "black";
var reRed = /red/;
var reBlack = /black/;
alert(reRed.test(sToMatch1) || reBlack.test(sToMatch1));
alert(reRed.test(sToMatch2) || reBlack.test(sToMatch2));
/*
這雖然能完成任務,但是十分沉長,還有另一種方式就是正則表達式的候選操作符。
*/
var sToMatch1 = "red";
var sToMatch2 = "black";
var reRedOrBlack = /(red|black)/;
alert(reRedOrBlack.test(sToMatch1));
alert(reRedOrBlack.test(sToMatch2));
//-->
/script>

5 非捕獲性分組
復制代碼 代碼如下:

script language="JavaScript">
!--
/*正則表達式 非捕獲性分組
如果要創建一個非捕獲性分組,只要在左括號的后面加上一個問號和一個緊跟的冒號:
*/
var sToMatch = "#123456789";
var reNumbers = /#(?:\d+)/;
reNumbers.test(sToMatch);
alert(RegExp.$1);
/*
這個例子的最后一行代碼輸出一個空字符串,因為該組是非捕獲性的,
*/
var sToMatch = "#123456789";
var reNumbers = /#(?:\d+)/;
alert(sToMatch.replace(reNumbers,"abcd$1"));
/*
正因如此,replace()方法就不能通過 RegExp.$x 變量來使用任何反向引用,這段代碼
輸出的“abcd$1”而不是abcd123456789, 因為$1 在這里并不被看成是一個反向引用。
*/
//-->
/script>

6 前瞻
復制代碼 代碼如下:

script language="JavaScript">
!--
/*正則表達式 前瞻
前瞻 就和它名字一樣,它告訴正則表達式運算器向前看一些字符而不是移動位置
*/
var sToMatch1 = "bedroom";
var sToMatch2 = "bedding";
var reBed = /bed(?=room)/;
alert(reBed.test(sToMatch1)); //true
alert(reBed.test(sToMatch2)); //false
//負向前瞻
var sToMatch1 = "bedroom";
var sToMatch2 = "bedding";
var reBed = /bed(?!room)/;
alert(reBed.test(sToMatch1)); //false
alert(reBed.test(sToMatch2)); //true
//-->
/script>

7 邊界
復制代碼 代碼如下:

script language="JavaScript">
!--
/*正則表達式 邊界
^ 行開頭
$ 行結尾
\b 單詞的邊界
\B 非單詞的邊界
*/
var sToMatch = "Important word is the last one.";
var reLastWord = /(\w+)\.$/;
reLastWord.test(sToMatch);
alert(RegExp.$1); //one
/*
假如想查找一個單詞,但要它只出現在行尾,則可以使用美元符號 ($)來表示它:
*/
var sToMatch = "Important word is the last one.";
var reLastWord = /^(\w+)/;
reLastWord.test(sToMatch);
alert(RegExp.$1); //Important
/*
在這個例子中,正則表達式查找行起始位置后的一個或多個單詞字符。如果遇到非單詞字符
匹配停止,返回 Important。 這個例子也可以用單詞邊界實現。
*/
var sToMatch = "Important word is the last one.";
var reLastWord = /^(.+?)\b/;
reLastWord.test(sToMatch);
alert(RegExp.$1); //Important
/*
這里,正則表達式用惰性量詞來制定在單詞邊界之前可以出現任何字符,且可以出現一次或
多次(如果使用貪婪性量詞,表達式就匹配整個字符串)。
*/
var data = " First second thind fourth fifth sixth ";
var reCat = /\b(\S+?)\b/g;
var arrdata = data.match(reCat);
for (var i = 0; i arrdata.length; i++)
{
alert(arrdata[i]);
}
/*
使用單詞邊界可以方便地從字符串中抽取單詞。
*/
//-->
/script>

8 多行模式
Code
復制代碼 代碼如下:

script language="JavaScript">
!--
/*正則表達式 多行模式
要制定多行模式,只要在正則表達式想要匹配的行末的一個單詞
*/
var data = " First second\n thind fourth\n fifth sixth";
var reCat = /(\w+)$/g;
var arrdata = data.match(reCat);
for (var i = 0; i arrdata.length; i++)
{
alert(arrdata[i]);
}
/*
上面只返回一個單詞 sixth,因為換行符阻擋了匹配,只能匹配行末的一個單詞,
當然也可以使用 split() 方法將字符串分割成數組,但就得對每一行進行單獨匹配。
以前不好好看書經常半吊子,看一半就仍了,導致用了好多 split, 其實很簡單如下面
例子 只需要 m 參數進行多行匹配。
*/
var data = " First second\n thind fourth\n fifth sixth";
var reCat = /(\w+)$/gm;
var arrdata = data.match(reCat);
for (var i = 0; i arrdata.length; i++)
{
alert(arrdata[i]);
}
//-->
/script>

至此結束,這些都是 javascript 正則表達式的基本方法,如果你看會了看復雜的正則你會有豁然開朗的感覺。

標簽:銅川 泰州 長沙 重慶 無錫 綿陽 西安 宣城

巨人網絡通訊聲明:本文標題《淺談正則表達式 實例入門》,本文關鍵詞  淺談,正則,表達式,實例,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《淺談正則表達式 實例入門》相關的同類信息!
  • 本頁收集關于淺談正則表達式 實例入門的相關信息資訊供網民參考!
  • 推薦文章
    日韩中文字幕在线亚洲一区| 成人影院久久久久久影院| 免费国产在线观看| 国产麻豆精品免费密入口| 国产成人精品影视| 精品国产香蕉在线播出| 999精品在线| 二级特黄绝大片免费视频大片| 午夜在线影院| 久久国产精品自由自在| 国产亚洲精品aaa大片| 免费一级片在线观看| 国产91视频网| 国产伦精品一区三区视频| 日本在线不卡免费视频一区| 国产成人啪精品| 韩国三级视频在线观看| 国产欧美精品| 色综合久久天天综合观看| 一级毛片视频在线观看| 精品视频在线看| 亚洲精品影院久久久久久| 精品国产三级a∨在线观看| 精品国产一区二区三区国产馆| 国产91精品一区| 九九久久国产精品| 国产伦精品一区三区视频| 欧美激情一区二区三区在线| 九九精品在线播放| 国产成人女人在线视频观看| 精品视频在线观看一区二区 | 黄视频网站在线看| 亚洲精品影院久久久久久| 日韩中文字幕在线亚洲一区| 91麻豆高清国产在线播放| 在线观看导航| 中文字幕97| 国产伦理精品| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 韩国毛片基地| 午夜在线亚洲| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 在线观看导航| 国产视频一区在线| 日本在线www| 国产一区免费观看| 国产精品123| 一级毛片看真人在线视频| 亚洲爆爽| 欧美另类videosbestsex视频| 久久精品免视看国产明星| 美女免费黄网站| 日韩欧美一二三区| 午夜在线亚洲| 精品国产亚洲人成在线| 免费国产在线观看| 国产极品精频在线观看| 四虎影视精品永久免费网站| 久久精品免视看国产明星| 高清一级片| 九九久久99| 精品国产一区二区三区久| 国产伦久视频免费观看 视频 | 国产国语对白一级毛片| 日本特黄特色aaa大片免费| 国产网站在线| 国产成a人片在线观看视频| 午夜在线影院| 欧美激情在线精品video| 国产一级强片在线观看| 精品视频免费看| 天天做日日爱| 国产不卡精品一区二区三区| 成人高清视频免费观看| 国产一区二区精品| 国产视频久久久| 日韩免费在线观看视频| 欧美电影免费看大全| 夜夜操天天爽| 精品视频在线观看视频免费视频| 一级女性全黄生活片免费| 国产网站麻豆精品视频| 国产国语对白一级毛片| 99热热久久| 亚洲天堂在线播放| 美国一区二区三区| 九九久久99| 99久久精品国产片| 九九免费精品视频| 精品视频在线看| 国产伦理精品| 麻豆系列 在线视频| 国产精品自拍在线| 中文字幕一区二区三区精彩视频 | 你懂的日韩| 成人a大片高清在线观看| 欧美a免费| 欧美电影免费看大全| 欧美a免费| 精品国产亚洲人成在线| 久久精品免视看国产明星| 日本免费区| 午夜在线亚洲| 日本免费区| 欧美国产日韩久久久| 欧美日本韩国| 可以在线看黄的网站| 成人a级高清视频在线观看| 国产欧美精品| 成人高清视频免费观看| 99热热久久| 91麻豆精品国产综合久久久| 香蕉视频久久| 欧美大片毛片aaa免费看| 一a一级片| 毛片电影网| 超级乱淫黄漫画免费| 欧美激情一区二区三区在线| 99久久精品国产片| 成人免费观看男女羞羞视频 | 午夜久久网| 欧美激情一区二区三区视频| 久久国产影院| 亚洲女人国产香蕉久久精品 | 99热热久久| 国产91素人搭讪系列天堂| 美国一区二区三区| 久久精品大片| 欧美爱爱动态| 欧美a免费| 欧美a级成人淫片免费看| 99久久精品国产国产毛片| 欧美激情在线精品video| 久草免费资源| 国产91精品一区| 日韩中文字幕一区| 可以在线看黄的网站| 99色精品| 香蕉视频一级| 亚洲 男人 天堂| 天天做日日爱| 香蕉视频久久| 国产91视频网| 99热精品一区| 欧美激情在线精品video| 九九免费精品视频| 一级毛片看真人在线视频| 一本高清在线| 欧美激情一区二区三区在线| 国产原创视频在线| 午夜精品国产自在现线拍| 欧美激情在线精品video| 精品视频在线观看视频免费视频| 日韩中文字幕在线播放| 香蕉视频一级| 欧美国产日韩久久久| 免费的黄色小视频| 亚洲 欧美 91| 精品美女| 日韩字幕在线| 国产麻豆精品| 亚洲女人国产香蕉久久精品 | 毛片电影网| 欧美激情一区二区三区在线| 国产不卡在线播放| 国产成人啪精品| 国产精品1024永久免费视频| 精品久久久久久影院免费| 美女免费黄网站| 欧美国产日韩在线| 国产福利免费观看| 成人高清视频免费观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 日韩免费在线观看视频| 欧美a免费| 色综合久久天天综线观看| 欧美电影免费看大全| 日韩中文字幕一区| 一级毛片看真人在线视频| 黄视频网站免费观看| 国产网站免费视频| 免费毛片播放| 九九精品久久久久久久久| 亚洲精品久久久中文字| 亚洲女人国产香蕉久久精品 | 日本免费看视频| 97视频免费在线| 日韩在线观看免费| 沈樵在线观看福利| 日本在线不卡免费视频一区| 国产精品123| 精品久久久久久综合网 | 精品国产亚洲人成在线| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 韩国三级香港三级日本三级la| 午夜久久网| 91麻豆精品国产综合久久久| 香蕉视频久久| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 99热热久久|