正則表達(dá)式有哪些內(nèi)容

這篇文章給大家分享的是有關(guān)正則表達(dá)式有哪些內(nèi)容的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

我們提供的服務(wù)有:做網(wǎng)站、網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、洮南ssl等。為上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的洮南網(wǎng)站制作公司

一、什么是正則表達(dá)式?

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

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

二、正則表達(dá)式的應(yīng)用

正則表達(dá)式在實(shí)際的開發(fā)過程中非常實(shí)用,能夠快速解決一些復(fù)雜的字符串處理問題,下面我對(duì)正則表達(dá)式的應(yīng)用做一些簡單分類:

第一種:數(shù)據(jù)驗(yàn)證
比如,你要驗(yàn)證一個(gè)字符串是否是正確的EMail,Telphone,Ip等等,那么采用正則表達(dá)式就好非常方便。

第二種:內(nèi)容查找
比如,你要抓取一個(gè)網(wǎng)頁的圖片,那么你肯定要找到<img>標(biāo)簽,這時(shí)候用正則表達(dá)式就可以精準(zhǔn)的匹配到。

第三種:內(nèi)容替換
比如,你要把手機(jī)號(hào)碼中間四位隱藏掉變成這種模式,123****4567,那么采用正則表達(dá)式也會(huì)非常方便。

三、正則表達(dá)式有哪些內(nèi)容

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

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

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

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

4、 定位符
?^  表示:開頭標(biāo)識(shí)
?$  表示:結(jié)尾標(biāo)識(shí)
?\b   表示:單詞邊界
?\B  表示:非單詞邊界
5、轉(zhuǎn)義符
?\   用于匹配某些特殊字符
6、選擇匹配符
?|   可以匹配多個(gè)規(guī)則
7、特殊用法
?(?=) : 正向預(yù)查:匹配以指定內(nèi)容結(jié)束的字符串
?(?!) : 負(fù)向預(yù)查:匹配不是以指定內(nèi)容結(jié)束的字符串
?(?:) : 不把選擇匹配符的內(nèi)容放到緩沖區(qū)

四、正則表達(dá)式在Javascript下的使用方法

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

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

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

//返回的是:result[0] = 匹配結(jié)果 , result[1] = 子表達(dá)式1的匹配結(jié)果 ……

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

?search : 返回匹配模式的字符串出現(xiàn)的位置,如果沒有,返回-1
?match : 返回匹配模式匹配到的字符串,如果有,返回?cái)?shù)組,無,返回null
?replace : 將匹配模式匹配到的字符串進(jìn)行替換
?split : 將字符串已匹配模式為分隔符進(jìn)行字符串分隔,返回?cái)?shù)組

五、正則表達(dá)式在PHP下的使用方法

PHP下有兩種使用正則表達(dá)式的函數(shù):

第一種是:Perl正則表達(dá)式函數(shù)
提供的方法有:

?preg_grep --  返回與模式匹配的數(shù)組單元
?preg_match_all -- 進(jìn)行全局正則表達(dá)式匹配
?preg_match -- 進(jìn)行正則表達(dá)式匹配
?preg_quote -- 轉(zhuǎn)義正則表達(dá)式字符
?preg_replace_callback -- 用回調(diào)函數(shù)執(zhí)行正則表達(dá)式的搜索和替換
?preg_replace -- 執(zhí)行正則表達(dá)式的搜索和替換
?preg_split -- 用正則表達(dá)式分割字符串
第二種是:POSIX正則表達(dá)式函數(shù)
提供的方法有:

?ereg_replace -- 替換正則表達(dá)式
?ereg -- 正則表達(dá)式匹配
?eregi_replace -- 不區(qū)分大小寫替換正則表達(dá)式
?eregi -- 不區(qū)分大小寫的正則表達(dá)式匹配
?split -- 用正則表達(dá)式將字符串分割到數(shù)組中
?spliti --  用正則表達(dá)式不區(qū)分大小寫將字符串分割到數(shù)組中
?sql_regcase --  產(chǎn)生用于不區(qū)分大小的匹配的正則表達(dá)式 

感謝各位的閱讀!關(guān)于“正則表達(dá)式有哪些內(nèi)容”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

網(wǎng)頁題目:正則表達(dá)式有哪些內(nèi)容
鏈接URL:http://muchs.cn/article18/gpjigp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、商城網(wǎng)站ChatGPT、網(wǎng)站設(shè)計(jì)公司外貿(mào)網(wǎng)站建設(shè)、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管