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

首頁 > 編程 > Regex > 正文

詳解正則表達(dá)式

2020-03-22 17:21:53
字體:
供稿:網(wǎng)友

html' target='_blank'>正則表達(dá)式語言由兩種基本字符類型組成:原義(正常)文本字符和元字符。
元字符使用正則表達(dá)式具有處理能力。元字符既可以是放在[ ] 中的任意單個字符(如 [a]表示匹配單個小寫字符 a),也可以是字符序列(如 [a-d] 表示匹配 a 、b、 c、 d 之間的任意一個字符,而 /w 表示任意英文字母和數(shù)字及下劃線),常見的元字符如下:

常見的元字符
字符描述特別說明
.匹配除換行符(/n)以外的任意字符~[abcde]匹配 a b c d e 之中的任意一個字符所有字符是 的關(guān)系[a-h]匹配 ah之間的任意一個字符~[^fgh]不與 fgh之中的任意一個字符匹配在 中括號[ ] 的第一個字符前加上 ^ 表示 取反
不匹配中括號里面出現(xiàn)的任意字符
/w匹配大小寫英文字符及數(shù)字 0 到 9 之間的任意一個及下劃線,相當(dāng)于[a-zA-Z0-9_]~/W/w 相反,相當(dāng)于 [^a-zA-Z0-9_]~/s匹配任意的空白符,相當(dāng)于 [/f/n/r/t/v]~/S/s相反,相當(dāng)于 [^/s]~/d匹配任何 0 到 9 之間的單個數(shù)字,相當(dāng)于 [0-9]~/D/d 相反,相當(dāng)于[^0-9]~[/u4e00-/u9fa5]匹配任意單個漢字(中文)(這里用的是 Unicode 編碼表示的漢字)~/b匹配單詞的開始或結(jié)束~^匹配字符串的開始放在中括號的第一個字符前 則變?yōu)?取反的意思$匹配字符串的結(jié)束~
正則表達(dá)式限定符

作用:限定這個符號前面 一個 單元 多出現(xiàn)的次數(shù)
單元:

  1. 如果前面出現(xiàn)的是一個字符的話,則這一個字符就為一個 單元
  2. 如果前面我們用小括號把一個很長的字符串括起來的話,那么整個小括號里面都算是一個 單元

上面的元字符都是針對單個字符匹配的,要想同時匹配多個字符的話,還需要借助限定符,下面是一些常見的限定符(下表中 n 和 m 都是表示 整數(shù)。)

字符描述特別說明
*匹配 0 到 多 個元字符,相當(dāng)于 {0,}~?匹配 0 到 1 個元字符, 相當(dāng)于 {0,1}~+匹配至少 1 個元字符,相當(dāng)于 {1,}~{n}匹配 n 個元字符~{n,}匹配至少 n 個元字符~{n,m}匹配 n 到 m 個元字符~/b匹配單詞邊界~^字符串必須以指定的字符開始~$字符串必須以指定的字符結(jié)束~
說明 - 特例
  1. 可以將多個元字符或者原義文本字符用括號括起來形成一個 分組,比如 ^(13)[4-9]/d{8}$ 表示任意以 13 開頭的移動手機號碼。
    1. abcabcabc+ 表示 最后的字母 c 出現(xiàn) 1 次或 多次;
    2. (abcabcabc)+ 表示 整個字符串 abcabcabc 出現(xiàn) 1 次或 多次。
  2. 可以使用 | 來表示 的關(guān)系,例如 z|j|q 表示匹配 z 、j、q 之中的任意一個字母。其實等價于 [zjq]。
    1. ab|cd|ef 表示的是:要么是 ab、要么是 cd要么是 ef。
    2. a(b|cd|e)f 表示的是:以a開頭,要么是 b、要么是 cd要么是 e,最后以f結(jié)尾。
    3. 總結(jié):|) 的唯一邊界是 小括號(( )
  3. [0-9A-Z.?] 這個正則你如何理解?
    1. 當(dāng) .? 出現(xiàn)在中括號中時,.? 將變?yōu)?普通字符,它就是 點 和 問號。你可以理解為 [ ] 的優(yōu)先級要大于. 和 ? 的優(yōu)先級。
    2. 此正則表達(dá)式將會完全匹配字符串 ?aaa.bbb ,記住這里 . 和 ? 被完全當(dāng)做了普通字符。
高級1 - 多選結(jié)構(gòu)

多選結(jié)構(gòu)其實就是元字符 | (或)的使用。
界定范圍:開頭、結(jié)尾、小括號

正則含義
Windows98|Windows2000|WindowsXP匹配Windows98或者Windows2000或者WindowsXP^Windows98|Windows2000|WindowsXP$Windows98開頭或者包含Windows2000或者以WindowsXP結(jié)尾
注意^$都包含在|的范圍內(nèi),因為|的界限只有:開頭、結(jié)尾、小括號
Windows(98|2000|XP)Windows然后98 或者2000或者XP

總結(jié):多選結(jié)構(gòu)可以包括很多字符,但不能超越 括號 的界限。

高級2 - 分組與后向引用分組
  • 我們已經(jīng)了解怎么重復(fù)單個字符;
  • 但如果想要重復(fù)一個字符串該怎么辦?你 可以用小括號來指定子表達(dá)式(也叫做分組)。
  • (/d{1,3}/.){3}/d{1,3} 簡單的 IP 地址匹配表達(dá)式
  • 但是它也將匹配 256.300.888.999 這種不可能存在的 IP 地址。你能寫一個更準(zhǔn)確的正則?
  • ((2[0-4]/d|25[0-5]|[01]?/d/d?)/.){3}(2[0-4]/d|25[0-5]|[01]?/d/d?)
反向引用
  • 使用小括號指定一個子表達(dá)式(分組)后,匹配這個子表達(dá)式的文本可以被捕獲,從而在表達(dá)式或其他程序中作進(jìn)一步的處理。
  • 默認(rèn)情況下,每個分組會自動擁有一個組號,規(guī)則是:以分組的左括號為標(biāo)志,從左向右,第一個分組的組號為 1 ,第二個為 2 ,依次類推。

示例:

  • /b(/w+)/b/s+/1/b 可以用來匹配重復(fù)的單詞
  • 匹配諸如:where where go, tom tom happy

直白解釋:
正則表達(dá)式中,前面用小括號進(jìn)行劃分(分組),后面把小括號匹配到的內(nèi)容引用到后面來,分別用/1/2等 來表示。(第一個小括號極/1...)。如果存在 小括號嵌套小括號的情況 (/w+(.?)) 記?。哼@個時候要以 ( 為標(biāo)志 從左往右 數(shù)小括號就可以了。

高級3 - 環(huán)視(零寬斷言)
  • 環(huán)視不匹配任何字符,只匹配文本中的 特定位置。類似于/b、^$ 那樣。環(huán)視不會占用字符。
  • 環(huán)視分為順序和逆序兩種:
    • 順序
      • (?=exp) 位置的后面能匹配 exp。例如:(?=/d) 當(dāng)前位置右邊是數(shù)字。
      • (?!exp) 位置的后面不能匹配 exp。例如:(?!/d) 當(dāng)前位置右邊不是數(shù)字。
    • 逆序
      • (?<=exp) 位置的前面能匹配 exp。例如:(?<=/d) 當(dāng)前位置左邊是數(shù)字
      • (?<!exp) 位置的前面不能匹配 exp。例如:(?!/d) 當(dāng)前位置左邊不是數(shù)字。
高級4 - 貪婪與懶惰
  • 當(dāng)正則表達(dá)式中包含能接受重復(fù)的 量詞 (指定數(shù)量的代碼,例如:+、*、{3,12} 等)時, 通常的行為是匹配盡可能多的字符。
  • 正則表達(dá)式:a.*b,它將會匹配最長的以 a 開始,以 b 結(jié)束的字符串。如果用它來搜索 aabab 的話,它會匹配整個字符串 aabab,這被稱為 -------貪婪匹配
  • -
  • 我們更需要 懶惰匹配,也就是匹配盡可能少的字符,前面給出的量詞都可以被轉(zhuǎn)化為 懶惰匹配模式, 只要在它后面加一個問號 ? 。這樣 .*? 就意味著匹配任意數(shù)量的重復(fù),但是在能使整個 匹配成功的前提下使用最少的重復(fù)。
  • a.*?b 匹配最短的,以 a 開始, 以 b 結(jié)束的字符串。如果把它應(yīng)用于 aabab 的話,它會匹配 aabab。

總結(jié):

貪婪與懶惰模式之間的區(qū)別就在于:懶惰模式 在量詞 * 的后面多了一個 問號 ?

高級5 - 模式匹配的優(yōu)先級

在使用正則表達(dá)式時,需要注意匹配的順序。通常相同優(yōu)先級 從左到右 進(jìn)行計算,不同優(yōu)先級的運算 先高后低。各種操作符的匹配順序優(yōu)先級 從高到低 如下表所示。

順序元字符描述
1/轉(zhuǎn)義字符2()、(?:)、(?=)[]模式單元和原子表3*、+、?{n}、{n,}{n,m}重復(fù)匹配4^、$、/b、/B、/A、/Z邊界限制5|模式選擇
實例1. 字符轉(zhuǎn)義

1問:要匹配字符串 333333/$33/33333 中的 /$ 正則應(yīng)該怎么寫?
2問:如果在 PHP 中 preg_match 函數(shù)分別用單引號和雙引號的表達(dá)式來匹配上面的 /$,怎么寫?

答案:

  • 表達(dá)式需要的規(guī)則是 ///$
  • 用單引號表示上面的字符串 '///////$/'。(為方便查看我們拆分一下為 '/// // // $/'
  • 用雙引號表示上面的字符串 "////////$/"。(為方便查看我們拆分一下為 "/// // // /$/"
  • 問什么呢?

再答:

  1. PHP 中單引號不轉(zhuǎn)義任何字符,但是唯獨轉(zhuǎn)義 / ,所以我們需要 6個/ 來生成表達(dá)式。
  2. 雙引號除了轉(zhuǎn)義 / 以外,還需要多一個 / 用來轉(zhuǎn)義 $ 所以它 需要 7 個/

相關(guān)教程推薦:PHP視頻教程

以上就是詳解正則表達(dá)式的詳細(xì)內(nèi)容,更多請關(guān)注 其它相關(guān)文章!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
欧美一级精品在线| 5g成人永久免费影院| 日韩美女免费观看| 日韩第一页在线| 97精品欧美一区二区三区| 精品一区二区在线免费观看| 久久久全国免费视频| 91国产高清在线| 91黑丝在线| 国产精品美女在线播放| 大荫蒂欧美视频另类xxxx| 黄网站免费看| 黄色一级片免费看| 免费在线成人网| 懂色av中文字幕| 国产精品久久久久久亚洲色| 日韩欧美电影在线| 国产刺激高潮av| 日韩电影大全在线观看| 一区二区三区日韩欧美精品| а天堂中文在线官网| 国产尤物视频| 欧美三片在线视频观看| 毛片视频免费| 九色porny丨首页入口在线| 国产又黄又粗又爽| 国产裸体歌舞团一区二区| 久久精品色欧美aⅴ一区二区| 色先锋资源在线播放av| 新欧美整片sss第一页| 免费av播放| 肥女人的一级毛片| 亚洲福利电影| 免费黄在线观看| 国产农村妇女精品一区| 国产成人综合自拍| 色播久久人人爽人人爽人人片视av| 久久久久久国产| 国产99在线| 国产老女人乱淫免费| 午夜视频在线观| 国内精品免费一区二区三区| 精品视频在线免费| 欧美丰满高潮xxxx喷水动漫| 日韩成人三级| 国产亚洲第一页| 亚洲综合av影视| 99久久一区二区| 欧美精品久久久久久久| 欧美国产禁国产网站cc| 裸体女人亚洲精品一区| 人妻 丝袜美腿 中文字幕| 欧美精品一二区| 成人在线激情视频| 91久热免费在线视频| 亚洲一二三区视频| 亚洲精品小视频在线观看| 久久国产精品久久国产精品| 久久网免费视频| 91精品国产aⅴ一区二区| 精品人妻伦一二三区久| 亚洲色图丝袜美腿| 久草免费在线视频| 国产一区毛片| 欧美精品亚州精品| 欧美成人影院| 欧美亚洲另类色图| 在线观看免费不卡av| 亚洲区综合中文字幕日日| 青青草视频在线免费观看| 国产精品影视天天线| 日本成人精品在线| 国产精品视频在线播放| 91九色视频蝌蚪| 久久久蜜臀国产一区二区| 欧美人与性动交α欧美精品济南到| 国产青草视频在线观看| 国产精品视频一区二区图片| 美女av在线播放| 亚洲七七久久综合桃花剧情介绍| 成人毛片高清视频观看| 五月精品在线| 922tv免费观看在线| 国产偷人视频免费| 亚洲三级在线观看| 免费观看黄色大片| 秋霞毛片大全| 亚洲男人的天堂av| 日韩美一区二区三区| 婷婷丁香综合| 乱子伦在线视频| 日韩欧美美女在线观看| 成人在线观看小视频| 91久久免费观看| 国产九色porny| 精品在线观看视频| 欧美大片免费观看网址| 国产精品一二三产区| 欧美性感美女一区二区| 国产av熟女一区二区三区| 亚洲高清在线播放| 日本中文字幕片| 精品国产乱码久久久久久蜜臀网站| 三区四区电影在线观看| 97人洗澡人人免费公开视频碰碰碰| 亚洲三级在线免费观看| www.浪潮av.com| 91九色在线视频| 国产欧美亚洲日本| 欧洲在线视频| 日韩一区二区三区在线免费观看| 亚洲色图插插| 欧美日韩不卡一区| 高清毛片aaaaaaaa**| 国产福利视频网站| 亚洲sss综合天堂久久| 无码一区二区三区视频| 久久综合网色—综合色88| 免费在线一级片| 黄色一区二区三区| 国产精品2020| 99久久99热久久精品免费看| 美女被黑人爆操网站| 亚洲国产精品va在线观看黑人| 日韩精品一区二区三区外面| 天堂中文在线资| 一区二区三区在线视频观看| 深爱激情久久| 麻豆视频免费网站| 天堂网在线中文| 亚洲精品在线一区二区| 香蕉久久久久久av成人| 国产又黄又爽视频| 国产精品久久..4399| 午夜激情福利网| 日韩精品视频无播放器在线看| 亚洲中文字幕一区二区| 日本我和搜子同居的日子高清在线| 在线观看日韩片| 亚洲一级高清| 五月婷在线视频| 国产极品美女在线| 欧美福利在线播放| 91在线视频九色| 国产女人av| 伊人网站在线| 国产激情视频一区| 小说区图片区综合久久88| 久久久久亚洲av成人网人人软件| 黄色软件在线| 7m精品福利视频导航| 九九久久久2| 9国产精品视频| 毛片网站在线看| 成人精品视频99在线观看免费| 在线日韩成人| 日本少妇高潮喷水xxxxxxx| 在线成人私人影院| 粉嫩喷白浆久久| 国产精品一区二区人人爽| 欧美成人精品在线视频| 成人高清dvd| 99re国产在线播放| 久久久久亚洲av成人毛片韩| 91香蕉在线观看| 国产精品久线在线观看| 女同一区二区三区| 午夜欧美在线| 国产精品久久久久久久一区二区| 精品97人妻无码中文永久在线| 动漫一区二区三区| 中文字幕有码视频| 熟妇人妻中文av无码| 日韩av片电影专区| 欧美专区在线观看一区| 俄罗斯女人裸体性做爰| 性直播在线观看| 亚洲人辣妹窥探嘘嘘| 国产原创一区| 久久99青青| 国产精品久久久久av福利动漫| 日本中文字幕视频一区| 5566日本婷婷色中文字幕97| 九色蝌蚪自拍| 欧美在线短视频| 亚洲香蕉成视频在线观看| 婷婷综合另类小说色区| 精品久久久久久久久久久院品网| 色老板在线视频一区二区| 无码人妻丰满熟妇区96| 国产精品视频你懂的| 在线国产一级| 91免费看国产| 久久成人免费网站| 国产高清免费在线播放| www激情久久| 国产精品99久久久久久宅男| 国产精品xxx视频| av在线天天| 日本人妻丰满熟妇久久久久久| 99re66热这里只有精品4| 欧美jizzhd欧美精品巨大| av中文字幕观看| 涩涩av在线| 国产高清视频色在线www| 一本久道久久久| 四虎永久在线精品免费一区二区| 日本电影亚洲天堂| 神马久久久久久久久久久| 精品乱码一区| 亚洲国产精品美女| 男女午夜视频在线观看| 你懂的在线观看视频网站| 性爱视频日本| 黄色网址多少| 粉嫩蜜臀av国产精品网站| 精品国产乱码久久久久久老虎| 又黄又爽毛片免费观看| 国产麻豆精品视频一区二区| 精品亚洲成a人片在线观看| 在线看国产一区二区| av影院在线免费观看| 99精彩视频| 九色porny自拍视频| 欧美 日韩 国产 成人 在线 91| 91久久国产综合| 精品久久久影院| 四虎影院成人在线观看| 激情视频在线观看一区二区三区| 国产福利电影在线观看| 亚洲校园激情春色| 99久久99久久精品国产片| 中文av资源在线| 色偷偷网站视频| 黑人中文字幕一区二区三区| 国产日韩免费| 亚洲人在线观看视频| 久久久亚洲精品石原莉奈| 在线视频se| 高清久久久久久| 亚洲欧美日本一区二区| 亚洲一区免费视频| 国产精品综合一区二区| 女人十八毛片嫩草av| 91精品国产色综合久久| 亚洲美女区一区| 无码一区二区三区在线| xfplay资源站色先锋在线观看| 久久久精品美女| 中文字幕一二区| 国产女人免费看a级丨片| 亚洲视频日本| 欧美天天影院| 亚洲色图狠狠干| 成人动漫一区二区在线| 香蕉久久a毛片| 中文av字幕一区| 性欧美精品一区二区三区在线播放| 精品国产乱码久久久久久88av| 久久久久久久久久婷婷| 精品无人区卡一卡二卡三乱码免费卡| 免费成人深夜夜行视频| 日韩免费在线观看av| 亚洲人成亚洲精品| 精品一区二区三区久久久| 99精品视频在线免费播放| 久久久久久国产精品美女| 先锋影音欧美官网| 国产成人av电影| 日韩av高清| 久久国产这里只有精品| 成年人在线免费观看视频网站| 91久久久久久久久| 男人天堂2020| 免费性色视频| 综合国产第二页| 日韩电影免费观看在线观看| 性少妇bbw张开| 精品视频久久久久久久| 日韩欧美中文字幕一区二区| 理论片午午伦夜理片在线播放| 亚洲一区在线观| 懂色av影视一区二区三区| 视频一区二区精品| 亚洲精品视频网| 亚洲精品91美女久久久久久久| 伊人av在线| 久久久久久久久四区三区| 国产精品一区二区99| 熟妇人妻系列aⅴ无码专区友真希| 亚州精品国产| 最近2018中文字幕免费在线视频| 久久午夜激情| 最近中文字幕日韩精品| 免费看黄色aaaaaa 片| 水蜜桃免费高清视频在线播放| 中文字幕一区二区三区5566| 风间由美性色一区二区三区| 免费观看在线综合色| 少妇av片在线观看| 黑人无套内谢中国美女| 日韩国产欧美一区二区三区| 91精品国产一区二区| 欧美欧美全黄| 国产成人精品亚洲日本在线观看| 天天人人精品| 视频区小说区图片区| 91理论电影在线观看| 五十路熟女丰满大屁股| 精品国产乱码久久久久久牛牛| 日韩成人在线电影网| 91专区在线观看| 日日碰狠狠丁香久燥| 中文字幕一区二区三区人妻不卡| 男插女视频网站| 婷婷精品久久久久久久久久不卡| 九九久久久久午夜精选| 成人免费在线| 成人av电影免费| 蜜桃传媒一区二区亚洲| 亚洲精品中文字幕乱码三区不卡| 免费看一级黄色| 97久久久久久久| 国产麻豆xxxvideo实拍| 久久精品国产99精品国产亚洲性色| 国产福利91精品| 日韩av123| 久久精品欧美|