茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    淺談?wù)齽t表達(dá)式(Regular Expression)
    來源:易賢網(wǎng) 閱讀:904 次 日期:2014-08-15 16:19:12
    溫馨提示:易賢網(wǎng)小編為您整理了“淺談?wù)齽t表達(dá)式(Regular Expression)”,方便廣大網(wǎng)友查閱!

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

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

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

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

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

    第一種:數(shù)據(jù)驗證

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

    第二種:內(nèi)容查找

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

    第三種:內(nèi)容替換

    比如,你要把手機(jī)號碼中間四位隱藏掉變成這種模式,123****4567,那么采用正則表達(dá)式也會非常方便。

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

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

    1、 正則表達(dá)式的幾個重要的概念

    •子表達(dá)式:在正則表達(dá)式中,如果使用"()"括起來的內(nèi)容,稱之為“子表達(dá)式”

    •捕獲:子表達(dá)式匹配到的結(jié)果會被系統(tǒng)放在緩沖區(qū)中,這個過程,我們稱之為“捕獲”

    •反向引用:我們使用"\n",其中n是數(shù)字,表示引用之前某個緩沖區(qū)之間的內(nèi)容,我們稱之為“反向引用”

    2、數(shù)量限定符

    •X+     表示:1或多個

    •X*     表示:0或多個

    •X?     表示:0或1個

    •X{n}    表示: n個

    •X{n,}    表示:至少n個

    •X{n,m}   表示:n至m個,貪婪原則,會盡可能匹配多個;如果在后面加個?,則為非貪婪原則

    注:X表示要查找的字符

    3、 字符限定符

    •\d   表示:匹配一個數(shù)字字符,[0-9]

    •\D  表示:匹配一個非數(shù)字字符,[^0-9]

    •\w  表示:匹配包括下劃線在內(nèi)的單詞字符,[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]

    非在內(nèi)的字符:[^a-z]、[^0-9]、[^abcd]

    4、 定位符

    •^  表示:開頭標(biāo)識

    •$  表示:結(jié)尾標(biāo)識

    •\b  表示:單詞邊界

    •\B  表示:非單詞邊界

    5、轉(zhuǎn)義符

    •\   用于匹配某些特殊字符

    6、選擇匹配符

    •|   可以匹配多個規(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方法時

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

    第二種方法是:使用String類

    提供的方法有:

    •search : 返回匹配模式的字符串出現(xiàn)的位置,如果沒有,返回-1

    •match : 返回匹配模式匹配到的字符串,如果有,返回數(shù)組,無,返回null

    •replace : 將匹配模式匹配到的字符串進(jìn)行替換

    •split : 將字符串已匹配模式為分隔符進(jìn)行字符串分隔,返回數(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á)式

    六、總結(jié)

    正則表達(dá)式就是我們實現(xiàn)某個功能的一個工具,這個工具:

    1、功能強(qiáng)大

    正則表達(dá)式中各種限定符的不同組合會實現(xiàn)不同的功能,有時實現(xiàn)一個復(fù)雜的功能需要編寫很長的正則表達(dá)式,如何能精準(zhǔn)匹配,這就要考驗一個程序員的能力了。

    2、簡潔方便

    平常我們在進(jìn)行字符串內(nèi)容查找,只能進(jìn)行某個特定字符串的查找,但是正則表達(dá)式可以幫助我們進(jìn)行模糊查找,更快更方便,僅僅需要一個正則表達(dá)式串。

    3、各種語言基本上都支持

    目前如JAVA、PHP、Javascript、C#、C++等主流語言都支持正則表達(dá)式。

    4、學(xué)習(xí)很簡單,應(yīng)用很高深

    學(xué)習(xí)正則表達(dá)式很快也很簡單,但是如何在實際開發(fā)中編寫出高效地,精準(zhǔn)地正則表達(dá)式,還是需要長時間的嘗試和積累。

    更多信息請查看IT技術(shù)專欄

    更多信息請查看網(wǎng)絡(luò)編程
    易賢網(wǎng)手機(jī)網(wǎng)站地址:淺談?wù)齽t表達(dá)式(Regular Expression)
    由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

    2026國考·省考課程試聽報名

    • 報班類型
    • 姓名
    • 手機(jī)號
    • 驗證碼
    關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機(jī)站點 | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
    云南網(wǎng)警備案專用圖標(biāo)
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權(quán)所有:易賢網(wǎng)
    云南網(wǎng)警報警專用圖標(biāo)