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

首頁 > 編程 > Regex > 正文

淺談正則表達式(Regular Expression)

2020-03-16 21:06:12
字體:
來源:轉載
供稿:網友
本文介紹了正則表達式的一些學習內容,以及在Javascript、PHP下如何使用正則表達式
 
 

一、什么是正則表達式?

簡單的說:正則表達式(Regular Expression)是一種處理字符串匹配的語言;

正則表達式描述了一種字符串匹配的模式,可以用來檢查一個字符串是否含有某種子串,對匹配到的子串進行“取出”或“替換”操作。

二、正則表達式的應用

正則表達式在實際的開發過程中非常實用,能夠快速解決一些復雜的字符串處理問題,下面我對正則表達式的應用做一些簡單分類:

第一種:數據驗證
比如,你要驗證一個字符串是否是正確的EMail,Telphone,Ip等等,那么采用正則表達式就好非常方便。

第二種:內容查找
比如,你要抓取一個網頁的圖片,那么你肯定要找到<img>標簽,這時候用正則表達式就可以精準的匹配到。

第三種:內容替換
比如,你要把手機號碼中間四位隱藏掉變成這種模式,123****4567,那么采用正則表達式也會非常方便。

三、正則表達式有哪些內容

下面我將簡單的介紹一下正則表達式:

1、 正則表達式的幾個重要的概念
•子表達式:在正則表達式中,如果使用"()"括起來的內容,稱之為“子表達式”
•捕獲:子表達式匹配到的結果會被系統放在緩沖區中,這個過程,我們稱之為“捕獲”
•反向引用:我們使用"/n",其中n是數字,表示引用之前某個緩沖區之間的內容,我們稱之為“反向引用”
2、數量限定符
•X+     表示:1或多個
•X*     表示:0或多個
•X?     表示:0或1個
•X{n}    表示: n個
•X{n,}    表示:至少n個
•X{n,m}   表示:n至m個,貪婪原則,會盡可能匹配多個;如果在后面加個?,則為非貪婪原則
注:X表示要查找的字符

3、 字符限定符
•/d   表示:匹配一個數字字符,[0-9]
•/D  表示:匹配一個非數字字符,[^0-9]
•/w  表示:匹配包括下劃線在內的單詞字符,[0-9a-zA-Z_]
•/W  表示:匹配任何非單詞字符,[^0-9a-zA-Z_]
•/s  表示:匹配任何空白字符,空格、回車、制表符
•/S  表示:匹配任何非空白字符
•.    表示:匹配任何單個字符
此外還有以下幾種:

范圍字符:[a-z]、[A-Z]、[0-9]、[0-9a-z]、[0-9a-zA-Z]
任意字符:[abcd]、[1234]
非在內的字符:[^a-z]、[^0-9]、[^abcd]

4、 定位符
•^  表示:開頭標識
•$  表示:結尾標識
•/b   表示:單詞邊界
•/B  表示:非單詞邊界
5、轉義符
•/   用于匹配某些特殊字符
6、選擇匹配符
•|   可以匹配多個規則
7、特殊用法
•(?=) : 正向預查:匹配以指定內容結束的字符串
•(?!) : 負向預查:匹配不是以指定內容結束的字符串
•(?:) : 不把選擇匹配符的內容放到緩沖區

四、正則表達式在Javascript下的使用方法

在Javascript下使用正則表達式,有兩種方法:

第一種方法:使用RegExp類
提供的方法有:

•test(str): 在字符串匹配是否有匹配模式的字符串,返回true/false
•exec(str): 返回匹配模式匹配到的字符串,如果有,返回相應的字符串,無,返回null;
        //如果正則表達式中有子表達式,使用exec方法時

        //返回的是:result[0] = 匹配結果 , result[1] = 子表達式1的匹配結果 ……

第二種方法是:使用String類
提供的方法有:

•search : 返回匹配模式的字符串出現的位置,如果沒有,返回-1
•match : 返回匹配模式匹配到的字符串,如果有,返回數組,無,返回null
•replace : 將匹配模式匹配到的字符串進行替換
•split : 將字符串已匹配模式為分隔符進行字符串分隔,返回數組

五、正則表達式在PHP下的使用方法

PHP下有兩種使用正則表達式的函數:

第一種是:Perl正則表達式函數
提供的方法有:

•preg_grep --  返回與模式匹配的數組單元
•preg_match_all -- 進行全局正則表達式匹配
•preg_match -- 進行正則表達式匹配
•preg_quote -- 轉義正則表達式字符
•preg_replace_callback -- 用回調函數執行正則表達式的搜索和替換
•preg_replace -- 執行正則表達式的搜索和替換
•preg_split -- 用正則表達式分割字符串
第二種是:POSIX正則表達式函數
提供的方法有:

•ereg_replace -- 替換正則表達式
•ereg -- 正則表達式匹配
•eregi_replace -- 不區分大小寫替換正則表達式
•eregi -- 不區分大小寫的正則表達式匹配
•split -- 用正則表達式將字符串分割到數組中
•spliti --  用正則表達式不區分大小寫將字符串分割到數組中
•sql_regcase --  產生用于不區分大小的匹配的正則表達式 

六、總結

正則表達式就是我們實現某個功能的一個工具,這個工具:

1、功能強大
正則表達式中各種限定符的不同組合會實現不同的功能,有時實現一個復雜的功能需要編寫很長的正則表達式,如何能精準匹配,這就要考驗一個程序員的能力了。

2、簡潔方便
平常我們在進行字符串內容查找,只能進行某個特定字符串的查找,但是正則表達式可以幫助我們進行模糊查找,更快更方便,僅僅需要一個正則表達式串。

3、各種語言基本上都支持
目前如JAVA、PHP、Javascript、C#、C++等主流語言都支持正則表達式。

4、學習很簡單,應用很高深
學習正則表達式很快也很簡單,但是如何在實際開發中編寫出高效地,精準地正則表達式,還是需要長時間的嘗試和積累。

如果想快速的入門推薦查看這篇文章:

正則表達式30分鐘入門教程


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
麻豆一区二区在线观看| 欧美性xxxxxxxxx| 日韩美女毛茸茸| 91中文字幕在线观看| 欧美精品videos另类日本| 日本视频久久久| 久久久久一本一区二区青青蜜月| 久久频这里精品99香蕉| 欧美日韩成人在线观看| 91精品久久久久久久久久久久久| 91免费看片在线| 欧美又大粗又爽又黄大片视频| 国产日产亚洲精品| 国产激情999| 2020欧美日韩在线视频| 91av在线视频观看| 久久久最新网址| 在线观看中文字幕亚洲| 日韩在线观看成人| 一本大道亚洲视频| 欧美高清在线播放| 亚洲人午夜精品| 欧美日韩亚洲国产一区| 成人高h视频在线| 色综合91久久精品中文字幕| 国产日本欧美一区二区三区在线| 伦理中文字幕亚洲| 欧美极品少妇xxxxⅹ裸体艺术| 精品爽片免费看久久| 国产91成人video| 91精品视频在线播放| 高跟丝袜欧美一区| 国产精品美女www爽爽爽视频| 国产精品美女久久久免费| 亚洲美女中文字幕| 精品久久久久久久久久国产| 色狠狠av一区二区三区香蕉蜜桃| 成人乱人伦精品视频在线观看| 日韩美女av在线免费观看| 91大神福利视频在线| 久久精品久久久久久| 国产精品美女视频网站| 欧美精品第一页在线播放| 久久久影视精品| 日韩大片在线观看视频| 久久久电影免费观看完整版| 日韩欧美中文免费| 欧美大片免费观看在线观看网站推荐| 日韩中文字幕在线免费观看| 国产精品网红直播| 成人羞羞国产免费| 亚洲精品日韩av| 国产成人在线播放| 日韩在线视频导航| 91精品一区二区| 欧美日韩激情网| 久久综合五月天| 亚洲一区二区三区在线免费观看| 午夜精品久久久久久99热软件| 人人爽久久涩噜噜噜网站| 日本精品在线视频| 爱福利视频一区| 亚洲专区中文字幕| 欧美日韩国产成人在线| 日韩美女主播视频| 国产精品成人品| 精品性高朝久久久久久久| 这里只有精品视频| 久久精品国产一区二区三区| 欧美日韩免费网站| 欧美日韩亚洲一区二区三区| 青青草国产精品一区二区| 亚洲一区二区中文| 亚洲女在线观看| 欧美性生活大片免费观看网址| 日韩高清有码在线| 亚洲女成人图区| 欧美国产日韩一区二区| 韩日精品中文字幕| 欧美在线一级va免费观看| 日韩欧美在线中文字幕| 日韩国产高清污视频在线观看| 欧美另类老女人| 亚洲色在线视频| 欧美激情综合亚洲一二区| 久久久久国产精品一区| 欧美最猛性xxxxx免费| 日韩美女在线播放| 北条麻妃99精品青青久久| 精品国产一区二区三区久久久| 成人国产亚洲精品a区天堂华泰| 欧美久久精品一级黑人c片| 久久久久久中文字幕| 欧美一区二区三区免费观看| 91老司机精品视频| 26uuu亚洲国产精品| 久久99久久99精品中文字幕| 欧美成人性色生活仑片| 亚洲欧美制服第一页| 国产精品主播视频| 一本色道久久88综合亚洲精品ⅰ| 日韩精品视频在线播放| 成人免费网站在线| 亚洲欧洲xxxx| 欧美日韩国产丝袜美女| 欧美激情视频播放| 久久久国产一区二区三区| 亚洲男人第一网站| 大量国产精品视频| 91精品国产综合久久久久久久久| 欧美日韩第一页| 欧美电影在线观看网站| 国产97色在线|日韩| 538国产精品一区二区在线| 欧美裸体男粗大视频在线观看| 久久久av一区| 亚洲free嫩bbb| 国产一区视频在线| 亚洲欧美另类国产| 国产精品极品美女粉嫩高清在线| 欧美有码在线观看视频| 日韩最新免费不卡| 国外成人免费在线播放| 最好看的2019的中文字幕视频| 欧美一区二区三区四区在线| 日韩视频免费中文字幕| 日韩在线中文字| 国产精品99免视看9| 色偷偷噜噜噜亚洲男人| 一区二区三区回区在观看免费视频| 欧美激情国产日韩精品一区18| 午夜免费久久久久| 欧美黑人巨大xxx极品| 国产精品成av人在线视午夜片| 国产精品电影网站| 欧美色视频日本高清在线观看| 亚洲性夜色噜噜噜7777| 国产在线精品播放| 欧美一级在线亚洲天堂| 中文字幕av一区中文字幕天堂| 久久综合九色九九| 精品一区二区亚洲| 亚洲精品在线观看www| 国产一区欧美二区三区| 久久精品色欧美aⅴ一区二区| 欧美xxxx18性欧美| 国产精品一区二区av影院萌芽| 国产ts一区二区| 国产精品户外野外| 日韩一区二区三区xxxx| 国产精品一久久香蕉国产线看观看| 国产成人精品日本亚洲专区61| 国产精品高精视频免费| 成人久久一区二区三区| 尤物99国产成人精品视频| 亚洲开心激情网| 中文字幕自拍vr一区二区三区| 美女视频黄免费的亚洲男人天堂| 日韩精品有码在线观看| 欧美多人乱p欧美4p久久| 国产+成+人+亚洲欧洲| 久久影院资源网| 欧美激情欧美狂野欧美精品| 亚洲无限乱码一二三四麻|