国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > PHP > 正文

PHP中的正則表達(dá)式函數(shù)介紹

2024-05-04 23:15:31
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
正則表達(dá)式(Regular Expression)

正則表達(dá)式系統(tǒng):
  1.POSIX
  2.Perl

PHP中使用的regex是PCRE:
  NOTE:PCRE(Perl兼容正則表達(dá)式,Perl Compatible Regular Expressions)

PCRE語(yǔ)法:
  1.定界符
    必須成對(duì)出現(xiàn),可以使用除0-9a-zA-Z/以外的任何字符
  2.原子
    1.正則需要匹配的可見(jiàn)和不可見(jiàn)字符都是原子
    2.一個(gè)正則表達(dá)式最少含有一個(gè)原子
    3.當(dāng)需要匹配諸如"("、"["、"^"等含有語(yǔ)義的符號(hào)時(shí)需要用"/"反斜線進(jìn)行轉(zhuǎn)義

    原子字符:
      /f 匹配換頁(yè)符
      /n 匹配換行符
      /r 匹配回車符
      /t 匹配制表符
      /v 匹配垂直制表符

  3.元字符
    / 轉(zhuǎn)義字符
    ^ 匹配字符串起始處
    $ 匹配字符串末尾
    . 匹配除"/n"之外的任何單個(gè)字符

    * 匹配前面的子表達(dá)式0或多次
    + 匹配前面的子表達(dá)式1次或多次
    ? 匹配前面的子表達(dá)式0次或1次

    {n} 匹配n次
    {n,} 匹配n次或n次以上
    {n,m} 最少匹配n次至多匹配m次,(n<=m)

    [] 中括號(hào)代表原子表,中間的原子地位都是相等。在匹配的時(shí)候,匹配表中的任意一個(gè)字符
    [^] 抑揚(yáng)符,排除后面的原子表所包含的字符。

    (pattern) 匹配pattern并獲取這一匹配。
    /num 對(duì)獲取的第num個(gè)匹配的引用。


    (?:pattern) 匹配pattern但不獲取這一匹配

    (?=pattern) 正向肯定預(yù)查,非獲取匹配,例如:windows(?=XP|7)能匹配windowsXP中的windows不能匹配windows98中的windows
    (?!=pattern) 正向否定欲查非獲取匹配,例如:windows(?!98|2000),能匹配windowsXP中的windows,不能匹配windows98中的windows
    (?<=pattern) 反向肯定預(yù)查,非獲取匹配。例如:(?<=My|Postgre)SQL能匹配MySQL中的SQL,不能匹配MSSQL中的SQL
    (?<!pattern) 反向否定預(yù)查,非獲取匹配。例如:(?<!My|Postgre)SQL能匹配MSSQL中的SQL,不能匹配MySQL中的SQL

    /b 匹配單詞邊界
    /B 匹配除單詞邊界以外的字符
    
    /d 匹配任何一個(gè)數(shù)字。等價(jià)于[0-9]
    /D 匹配任何一個(gè)非數(shù)字以外的字符。等價(jià)于[^0-9]

    /s 匹配任何一個(gè)空白字符(包括空格、制表符、換頁(yè)符等)。等價(jià)于[/f/n/r/t/v]
    /S 匹配任何一個(gè)非空白字符。等價(jià)于[^/f/n/r/t/v]
    
    /w 匹配任何一個(gè)數(shù)字、字母或下劃線。等價(jià)于[0-9a-zA-Z]
    /W 匹配任何一個(gè)非數(shù)字、字母或下劃線的字符。等價(jià)于[^0-9a-zA-Z]

4.模式修正符
  i 不區(qū)分大小寫
  m 此模式中如果有回車或換行,^和$將匹配每行的行首和行尾
  s 讓.能匹配/n
  x 忽略空白
  U 取消貪婪,相當(dāng)于(.*?)
  A 與^效果一樣
  D 結(jié)尾處不忽略回車 ,在結(jié)束處有$符的時(shí)候,在匹配的字符串后面加上回車,$依然能夠匹配它成功。但是加上D之后,結(jié)尾的回車,不再匹配

  NOTE:正則表達(dá)式是從左向右進(jìn)行匹配的


  相關(guān)函數(shù):
    preg_filter — 執(zhí)行一個(gè)正則表達(dá)式搜索和替換
    preg_grep — 返回匹配模式的數(shù)組條目
    preg_last_error — 返回最后一個(gè)PCRE正則執(zhí)行產(chǎn)生的錯(cuò)誤代碼
    preg_match_all — 執(zhí)行一個(gè)全局正則表達(dá)式匹配
    preg_match — 執(zhí)行一個(gè)正則表達(dá)式匹配
    preg_quote — 轉(zhuǎn)義正則表達(dá)式字符
    preg_replace_callback — 執(zhí)行一個(gè)正則表達(dá)式搜索并且使用一個(gè)回調(diào)進(jìn)行替換
    preg_replace — 執(zhí)行一個(gè)正則表達(dá)式的搜索和替換
    preg_split — 通過(guò)一個(gè)正則表達(dá)式分隔字符串
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 庐江县| 乌兰浩特市| 玉林市| 霞浦县| 青岛市| 林西县| 会宁县| 平潭县| 罗山县| 汶上县| 明水县| 西安市| 孝义市| 乃东县| 甘孜县| 日喀则市| 沈丘县| 沙田区| 鹤峰县| 南通市| 龙里县| 陵水| 湟中县| 彩票| 项城市| 新和县| 即墨市| 奈曼旗| 雅安市| 德庆县| 望都县| 封丘县| 慈利县| 根河市| 华宁县| 罗田县| 尼勒克县| 千阳县| 琼中| 博湖县| 南和县|