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

首頁 > 語言 > PHP > 正文

PHP中正則表達式模式修飾符詳解

2024-09-04 11:47:18
字體:
來源:轉載
供稿:網友

修飾符是php中正則表達式的一個重要的參考,下面我來給大家轉一篇關于PHP中正則表達式模式修飾符詳解,有需要了解的朋友可進入參考參考.

PHP模式修飾符又叫模式修正符,是在正則表達式的定界符之外使用.主要用來調整正則表達式的解釋,提擴展了正則表達式在匹配、替換等操作的某些功能,增強了正則的能力.但是有很多地方的解釋都是錯誤的,也容易誤導別人,所以今天我把這個文檔整理出來,供大家參考.

模式修正符號 功能描述

i 在和正則匹配是不區分大小寫 

m 將字符串視為多行.默認的正則開始“^”和結束“$”將目標字條串作為一單一的一“行”字符(甚至其中包括換行符也是如此).如果在修飾符中加上“m”,那么開始和結束將會指點字符串的每一行的開頭就是“^”結束就是“$”. 

s 如果設定了這個修正符,那么,被匹配的字符串將視為一行來看,包括換行符,換行符將被視為普通字符串. 

x 忽略空白,除非進行轉義的不被忽略. 

e只用在preg_replace()函數中,在替換字符串中逆向引用做正常的替換,將其作為PHP代碼求值,并用其結果來替換所搜索的字符串. 

A 如果使用這個修飾符,那么表達式必須是匹配的字符串中的開頭部分.比如說”/a/A”匹配”abcd”.

D 模式中的$字符權匹配目標字符的結尾.沒有此選項時,如果最后一個字符是換行符的話,美元符號也會匹配此字符之前.如果設定了修正符m則忽略此項. 

E 與”m”相反,如果使用這個修飾符,那么”$”將匹配絕對字符串的結尾,而不是換行符前面,默認就打開了這個模式. 

U 貪婪模式,和問號的作用差不多,最大限度的匹配就是貪婪模式.

貪婪模式:

比如我們要匹配以字母“a”開頭字母“b”結尾的字符串,但是需要匹配的字符串在“a”后面含有很多個“b”,比如“a bbbbbbbbbbbbbbbbb”,那正則表達式是會匹配第一個“b”還是最后一個“b”呢?如果你使用了貪婪模式,那么會匹配到最后一個“b”,反之只是匹配到第一個“b”.

PHP正則表達式貪婪模式使用實例:

1./a.+?b/   

2./a.+b/U 

對比不使用貪婪模式的實例如下:

1./a.+b/  

上面使用了一個修飾符U,詳見關于修飾符的介紹.

其他資料:

模式修正符: 解說正則表達式模式中使用的修正符

說明:下面列出了當前在 PCRE 中可能使用的修正符.括號中是這些修正符的內部 PCRE 名.修正符中的空格和換行被忽略,其它字符會導致錯誤.

i (PCRE_CASELESS)

如果設定此修正符,模式中的字符將同時匹配大小寫字母.

m(PCRE_MULTILINE)

默認情況下,PCRE 將目標字符串作為單一的一“行”字符所組成的(甚至其中包含有換行符也是如此).“行起始”元字符(^)僅僅匹配字符串的起始,“行結束”元字符($)僅 僅匹配字符串的結束,或者最后一個字符是換行符時其前面(除非設定了 D 修正符).這和 Perl 是一樣的.

當設定了此修正符,“行起始”和“行結束”除了匹配整個字符串開頭和結束外,還分別匹配其中的換行符的之后和之前.這和 Perl 的 /m 修正符是等效的.如果目標字符串中沒有“n”字符或者模式中沒有 ^ 或 $,則設定此修正符沒有任何效果.

s(PCRE_DOTALL)

如果設定了此修正符,模式中的圓點元字符(.)匹配所有的字符,包括換行符.沒有此設定的話,則不包括換行符.這和 Perl 的 /s 修正符是等效的.排除字符類例如 [^a] 總是匹配換行符的,無論是否設定了此修正符.

x(PCRE_EXTENDED)

如果設定了此修正符,模式中的空白字符除了被轉義的或在字符類中的以外完全被忽略,在未轉義的字符類之外的 # 以及下一個換行符之間的所有字符,包括兩頭,也都被忽略.這和 Perl 的 /x 修正符是等效的,使得可以在復雜的模式中加入注釋.然而注意,這僅適用于數據字符.空白字符可能永遠不會出現于模式中的特殊字符序列,例如引入條件子模式 的序列 (?( 中間.

e

如果設定了此修正符,preg_replace() 在替換字符串中對逆向引用作正常的替換,將其作為 PHP 代碼求值,并用其結果來替換所搜索的字符串.只有 preg_replace() 使用此修正符,其它 PCRE 函數將忽略之.

注: 本修正符在 PHP3 中不可用.

A(PCRE_ANCHORED)

如果設定了此修正符,模式被強制為“anchored”,即強制僅從目標字符串的開頭開始匹配.此效果也可以通過適當的模式本身來實現(在 Perl 中實現的唯一方法).

D(PCRE_DOLLAR_ENDONLY)

如果設定了此修正符,模式中的美元元字符僅匹配目標字符串的結尾.沒有此選項時,如果最后一個字符是換行符的話,美元符號也會匹配此字符之前(但不會匹配任何其它換行符之前).如果設定了 m 修正符則忽略此選項.Perl 中沒有與其等價的修正符.

S

當一個模式將被使用若干次時,為加速匹配起見值得先對其進行分析.如果設定了此修正符則會進行額外的分析.目前,分析一個模式僅對沒有單一固定起始字符的 non-anchored 模式有用.

U(PCRE_UNGREEDY)

本修正符反轉了匹配數量的值使其不是默認的重復,而變成在后面跟上“?”才變得重復.這和 Perl 不兼容.也可以通過在模式之中設定 (?U) 修正符或者在數量符之后跟一個問號(如 .*?)來啟用此選項.

X(PCRE_EXTRA)

此修正符啟用了一個 PCRE 中與 Perl 不兼容的額外功能.模式中的任何反斜線后面跟上一個沒有特殊意義的字母導致一個錯誤,從而保留此組合以備將來擴充.默認情況下,和 Perl 一樣,一個反斜線后面跟一個沒有特殊意義的字母被當成該字母本身.當前沒有其它特性受此修正符控制.

u(PCRE_UTF8)

此修正符啟用了一個 PCRE 中與 Perl 不兼容的額外功能.模式字符串被當成 UTF-8.本修正符在 Unix 下自 PHP 4.1.0 起可用,在 win32 下自 PHP 4.2.3 起可用.自 PHP 4.3.5 起開始檢查模式的 UTF-8 合法性.

PHP正則表達式的基本語法:

一個正則表達式,分為三個部分:分隔符,表達式和修飾符.

分隔符可以是除了特殊字符以外的任何字符(比如"/ !"等等),常用的分隔符是"/".表達式由一些特殊字符(特殊字符詳見下面)和非特殊的字符串組成,比如"[a-z0-9_-]+@[a-z0-9_-.]+"可以匹配一個簡單的電子郵件字符串.修飾符是用來開啟或者關閉某種功能/模式.下面就是一個完整的正則表達式的例子:

/hello.+?hello/is  上面的正則表達式"/"就是分隔符,兩個"/"之間的就是表達式,第二個"/"后面的字符串"is"就是修飾符.

在表達式中如果含有分隔符,那么就需要使用轉義符號"",比如"/hello.+?/hello/is".轉義符號除了用于分隔符外還可以執行特殊字符,全部由字母構成的特殊字符都需要""來轉義,比如"d"代表全體數字.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩精品极品在线观看| 亚洲人午夜色婷婷| 国产午夜精品理论片a级探花| 亚洲精品有码在线| 国产精品午夜视频| 亚洲一区二区三区四区视频| 日韩国产精品亚洲а∨天堂免| 最近2019中文免费高清视频观看www99| 成人午夜在线影院| 91国产高清在线| 精品亚洲一区二区三区四区五区| 国产精品h片在线播放| 8090成年在线看片午夜| 亚洲免费一在线| 欧美日韩亚洲精品内裤| 欧美性色视频在线| 国产狼人综合免费视频| 欧美放荡办公室videos4k| 国产精品无码专区在线观看| 国产69精品久久久久99| 欧美成人剧情片在线观看| 成人做爰www免费看视频网站| 18一19gay欧美视频网站| 成人国产精品久久久久久亚洲| 日韩av男人的天堂| 国产精品久久久久久久久借妻| 中文字幕日韩精品有码视频| 热久久这里只有| 国产精品中文在线| 国产精品欧美久久久| 国产免费成人av| 色av中文字幕一区| 日韩成人中文电影| 国产免费一区视频观看免费| 成人精品在线视频| 51ⅴ精品国产91久久久久久| 亚洲精品乱码久久久久久金桔影视| 日韩成人在线免费观看| 欧美久久精品午夜青青大伊人| 欧美高清自拍一区| 欧美精品做受xxx性少妇| 17婷婷久久www| 国产婷婷97碰碰久久人人蜜臀| 欧美午夜影院在线视频| 亚洲成人av片在线观看| 夜夜嗨av一区二区三区免费区| 亚洲高清福利视频| 日韩精品极品毛片系列视频| 日韩av免费在线看| 97国产成人精品视频| 国产啪精品视频网站| 亚洲最大福利视频网站| 精品视频偷偷看在线观看| 欧美激情精品久久久久久免费印度| 欧美色图在线视频| 国产精品久久久久久久久影视| 成人中心免费视频| 亚洲a成v人在线观看| 日韩中文字幕视频在线观看| 亚洲精品动漫100p| 美女av一区二区三区| 欧美日韩国产二区| 97欧美精品一区二区三区| 一本大道亚洲视频| 欧美亚洲伦理www| 奇门遁甲1982国语版免费观看高清| 中文字幕亚洲一区在线观看| 国产精品一区二区久久| 欧美精品videosex极品1| 亚洲精品中文字幕av| 亚洲精品电影在线观看| 欧美激情视频在线| 亚洲欧美日本伦理| 欧美俄罗斯乱妇| 欧美日韩在线视频首页| 日韩一区二区精品视频| 国产这里只有精品| 欧美老少做受xxxx高潮| 国产精品你懂得| 日韩欧美成人免费视频| 亚洲精品久久久久久久久| 色婷婷综合久久久久中文字幕1| 精品国产91久久久久久| 国产成人在线一区二区| 色偷偷888欧美精品久久久| 中国china体内裑精亚洲片| 91精品国产99久久久久久| 国产精品日日做人人爱| 国产精品99久久久久久久久久久久| 日韩电影中文字幕一区| 波霸ol色综合久久| 日韩国产激情在线| 日日骚av一区| 欧美激情aaaa| 97免费视频在线播放| 国产午夜精品美女视频明星a级| 96精品视频在线| 国产日韩精品视频| 中文字幕在线看视频国产欧美在线看完整| 欧美精品久久久久久久久久| 亚洲精品永久免费精品| 北条麻妃一区二区三区中文字幕| 伊人av综合网| 亚洲欧美日韩国产精品| 国产精品美女无圣光视频| 亚洲人成电影网站色xx| 久久精品视频亚洲| 欧美人成在线视频| 日韩中文字幕视频在线| 日韩a**中文字幕| 日韩成人av在线| 欧美成人免费全部观看天天性色| 久久久久久中文| 亚洲激情中文字幕| 国产视频久久网| 中文字幕日韩av电影| 欧美日韩人人澡狠狠躁视频| 97国产一区二区精品久久呦| 欧美中文在线观看| 国产亚洲激情视频在线| 成人网页在线免费观看| 色偷偷av亚洲男人的天堂| 欧美午夜美女看片| 亚洲大胆美女视频| 国产精品mp4| 国产精品美乳在线观看| 亚洲精品自拍偷拍| 欧美激情中文网| 精品调教chinesegay| 亚洲欧洲av一区二区| 精品国产欧美一区二区三区成人| 国产精品久久久久久久7电影| 精品中文字幕视频| 欧美精品一区三区| 亚洲精品在线观看www| 久久精品国产久精国产思思| 国产精品国内视频| 国产精品视频免费在线| 伊人久久五月天| 成人综合网网址| 国产日韩在线精品av| 亚洲国产精久久久久久久| 91香蕉电影院| 欧美影院成年免费版| 精品一区电影国产| 国产精品久久久久久久久久免费| 色综久久综合桃花网| 欧美成人午夜激情视频| 日本欧美一二三区| 日韩美女在线观看| 欧美乱大交做爰xxxⅹ性3| 国产精品久久久久久av福利软件| 欧美黑人性生活视频| 51精品国产黑色丝袜高跟鞋| 国产在线观看不卡| 欧美大秀在线观看| 日韩视频精品在线| 中文字幕亚洲无线码a| 久久久成人精品视频| 精品久久久中文| 久久av在线看| 国产精品久久久久久久久久三级| 青草青草久热精品视频在线网站| 成人做爰www免费看视频网站|