日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

PHP擴展之文本處理(二)——PCRE正則表達式語法3——轉義序列(反斜線)

瀏覽:151日期:2022-09-15 18:48:40

反斜線有多種用法。首先,如果緊接著是一個非字母數字字符,表明取消 該字符所代表的特殊涵義。這種將反斜線作為轉義字符的用法在字符類 內部和外部都可用。

比如,如果你希望匹配一個 '*' 字符,就需要在模式中寫為 '*'。 這適用于一個字符在不進行轉義會有特殊含義的情況下。 但是, 對于非數字字母的字符,總是在需要其進行原文匹配的時候在它前面增加一個反斜線, 來聲明它代表自己,這是安全的。如果要匹配一個反斜線,那么在模式中使用 ””。

Note:

反斜線在單引號字符串和雙引號字符串?中都有特殊含義,因此要匹配一個反斜線, 模式中必須寫為 ””。 譯注: “//”, 首先它作為字符串,反斜線會進行轉義, 那么轉義后的結果是//,這個才是正則表達式引擎拿到的模式, 而正則表達式引擎也認為 是轉義標記,它會將分隔符 / 進行轉義, 從而得到的是一個錯誤,因此,需要 4 個反斜線才可以匹配一個反斜線。

如果一個模式被使用?PCRE_EXTENDED?選項編譯, 模式中的空白字符(除了字符類中的)和未轉義的#到行末的所有字符都會被忽略。 要在這種情況下使用空白字符或者#,就需要對其進行轉義。

反斜線的第二種用途提供了一種對非打印字符進行可見編碼的控制手段。 除了二進制的 0 會終結一個模式外,并不會嚴格的限制非打印字符(自身)的出現, 但是當一個模式以文本編輯器的方式編輯準備的時候, 使用下面的轉義序列相比使用二進制字符會更加容易。

a響鈴字符(十六進制 07)cx'control-x',x 是任意字符e轉義 (十六進制 1B)f換頁 (十六進制 0C)n換行 (十六進制 0A)p{xx}一個符合 xx 屬性的字符P{xx}一個不符合xx屬性的字符r回車 (十六進制 0D)t水平制表符 (十六進制 09)xhhhh十六進制編碼的字符dddddd八進制編碼的字符,或者后向引用

cx的確切效果如下: 如果x是一個小寫字母,它被轉換為大寫。接著, 將字符的第6位(十六進制 40,右數第一個位為第0位)取反。 比如cz成為十六進制的1A,c{成為十六進制3B,?c;成為十六進制7B。

在”x”后面,讀取兩個十六進制數(字母可以是大寫或小寫)。 在UTF-8模式, “x{…}”允許使用, 花括號內的內容是十六進制有效數字。 它將給出的十六進制數字解釋為 UTF-8 字符代碼。原來的十六進制轉義序列,?xhh, 匹配一個雙字節的UTF-8字符,如果它的值大于127

在”0”之后, 讀取兩個八進制數。所有情況下,如果數少于2個,則直接使用。 序列 ”0x07” 指定了兩個二進制 0 緊跟著一個 BEL 字符。 請確保初始的 0 之后的兩個數字是合法的八進制數。

處理一個反斜線緊跟著的不是0的數字的情況比較復雜。在字符類外部, PCRE 讀取它并以十進制讀取緊隨其后的數字。 如果數值小于 10, 或者之前捕獲到了該數字能夠代表的左括號(子組), 整個數字序列被認為是后向引用。后向引用如何工作在后面描述, 接下來就會討論括號子組。

在一個字符類里面,或者十進制數大于 9 并且沒有那么多的子組被捕獲, PCRE 重新讀取反斜線后的第三個 8 進制數字,并且從最低的 8 位生成單字節值。 任何的后續數字都代表它們自身。例如:

040空格的另外一種用法40當提供了少于40個子組時也認為是空格。7始終是后向引用11可能是后向引用,也可能是制表符011總是一個制表符0113一個制表符緊跟著一個3(因為每次最多只讀取3個8進制位113八進制113代表的字符3778進制377是10進制255, 因此代表一個全1的字符81一個后向引用或者一個二進制 0 緊跟著兩個數字 8 和 1(因為8不是8進制有效數字)

注意,八進制值的 100 或者更大的值必須沒有前置的0引導, 因為每次最多讀取3個8進制位.

所有序列定義的單字節值都可以在字符類內部或外部使用。另外,在字符類中, 序列 ”b” 解釋為退格字符。字符類外它又有不同的意義(下面有描述)

反斜線的第三種用法是用來描述特定的字符類:

d任意十進制數字D任意非十進制數字h任意水平空白字符(since PHP 5.2.4)H任意非水平空白字符(since PHP 5.2.4)s任意空白字符S任意非空白字符v任意垂直空白字符(since PHP 5.2.4)V任意非垂直空白字符(since PHP 5.2.4)w任意單詞字符W任意非單詞字符

上面每一對轉義序列都代表了完整字符集中兩個不相交的部分, 任意字符一定會匹配其中一個,同時一定不會匹配另外一個。

單詞字符指的是任意字母、數字、下劃線。 也就是說任意可以組成perl單詞的字符。 字母和數字的定義通過PCRE字符表控制,可以通過指定地域設置使其匹配改變。比如, 在法國 (fr) 地域設置中,一些超過 128 的字符代碼被用于重音字母, 它們可以實用?w?匹配。

這些字符類序列在字符類內部或外部都可以出現。 他們每次匹配所代表的字符類型中的一個字符。 如果當前匹配點位于目標字符串末尾, 它們中的所有字符都匹配失敗, 因為沒有字符讓它們匹配了。

反斜線的第四種用法是一些簡單的斷言。 一個斷言指定一個必須在特定位置匹配的條件, 它們不會從目標字符串中消耗任何字符。 接下來我們會討論使用子組的更加復雜的斷言。 反斜線斷言包括:

b單詞邊界B非單詞邊界A目標的開始位置(獨立于多行模式)Z目標的結束位置或結束處的換行符(獨立于多行模式)z目標的結束位置(獨立于多行模式)G在目標中首次匹配位置

這些斷言不能出現在字符類中(但是注意, “b”在字符類中有不同的意義, 表示的是退格(backspace)字符)

一個單詞邊界表示的是在目標字符串中, 當前字符和前一個字符不同時匹配w或W(一個比配w, 一個匹配W), 或者作為字符串開始或結尾字符的時候當前字符匹配w。

A,?Z,?z斷言不同于傳統的^和$(詳見下文), 因為他們永遠匹配目標字符串的開始和結尾,而不會受模式修飾符的限制。 它們不受PCRE_MULTILINE,PCRE_DOLLAR_ENDONLY選項的影響。?Z?和?z?之間的不同在于當字符串結束字符時換行符時?Z?會將其看做字符串結尾匹配, 而?z?只匹配字符串結尾。

G?斷言在指定了$offset?參數的?preg_match()?調用中, 僅在當前匹配位置在匹配開始點的時候才是成功的。 當$offset?的值不為 0 的時候, 它與?A?是不同的。 譯注:另外一點與?A?的不同之處在于使用 preg_match_all() 時, 每次匹配?G?只是斷言是否是匹配結果的開始位置, 而?A?斷言的則是匹配結果的開始位置是否在目標字符串開始位置。

自 PHP 4.3.3開始,?Q?和?E?可以用于在模式中忽略正則表達式元字符。比如:?w+Q.$.E$?會匹配一個或多個單詞字符,緊接著一個點號,一個$,一個點號, 最后錨向字符串末尾。

自 PHP 5.2.4 開始。?K?可以用于重置匹配。 比如,?footKbar?匹配”footbar”。 但是得到的匹配結果是 ”bar”。但是,K?的使用不會干預到子組內的內容, 比如?(foot)Kbar?匹配 ”footbar”,第一個子組內的結果仍然會是 ”foo”。譯注: K 放在子組和子組外面的效果是一樣的。

標簽: PHP
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久久久久美女精品| 激情综合五月| 精品久久免费| 精品久久久亚洲| 精品国产日韩欧美精品国产欧美日韩一区二区三区| 久久精品一区二区国产| 国产精品一国产精品| 国产精品成人**免费视频| 国产伦理一区| 国产精品s色| 精品久久精品| 日韩啪啪电影网| 国产一区久久| 亚洲欧美日韩国产综合精品二区| 日韩视频二区| 日韩中文字幕亚洲一区二区va在线| 国产精品日韩| 男女精品网站| 日韩高清一区| 精品日韩一区| 日韩欧美在线中字| 欧美日韩精品一本二本三本 | 欧美在线观看视频一区| 在线日韩欧美| 亚洲一级淫片| 国产精品多人| 日韩在线视频精品| 国产亚洲一区在线| 欧美一级一区| 免费在线观看一区| 日韩精品免费一区二区三区| 国产美女精品| 日本成人中文字幕| 高清av一区| 亚洲精品一区二区在线看| 日韩中文字幕一区二区三区| 国产亚洲精品精品国产亚洲综合| 精品一区二区三区视频在线播放| 日韩欧美精品| 日韩精品一二三| 欧美日韩一区自拍| 日产精品一区| 亚洲一级大片| 91欧美在线| jiujiure精品视频播放| 欧美亚洲tv| 色婷婷精品视频| 日本不卡在线视频| 色一区二区三区| 一区二区高清| 精品一区av| 久久亚洲图片| 国产传媒av在线| 亚洲专区欧美专区| 国语精品一区| 中文视频一区| 香蕉视频亚洲一级| 日本亚洲三级在线| 中国字幕a在线看韩国电影| 一本一道久久a久久精品蜜桃| 88久久精品| 99久久婷婷| 国产精东传媒成人av电影| 香蕉国产精品| 美女久久99| 蜜臀91精品一区二区三区| 国产一区2区| 蜜臀91精品一区二区三区| 成人在线黄色| 亚洲欧洲日韩| 亚洲成人精品| 麻豆国产91在线播放| 亚洲欧美日韩精品一区二区 | 精品亚洲a∨| 亚洲一区二区成人| 高清一区二区三区av| 日韩国产欧美一区二区三区| 日韩欧美自拍| 国产精品极品| 亚洲日本国产| 亚洲欧美一区在线| 国产suv精品一区二区四区视频| 亚洲日本三级| 激情综合激情| 国产精品xx| 国产精品一线| 中文字幕日韩亚洲| 中文字幕在线官网| 91亚洲无吗| 亚洲综合日本| 久久精品国语| 黄色在线观看www| 久久丁香四色| 91精品国产自产观看在线| 亚洲大全视频| 99久久视频| 亚洲伦乱视频| 激情视频网站在线播放色| 国产精品久久久一区二区| 亚洲三级精品| 蜜臀久久99精品久久久画质超高清 | 国产一区丝袜| 日韩av网站在线观看| 性色一区二区| 亚洲欧美日韩高清在线| 特黄毛片在线观看| 精品久久电影| 国产精品白浆| 日韩av黄色在线| 日韩一区二区三免费高清在线观看| 欧美日韩国产欧| 五月激情久久| 国产模特精品视频久久久久| 国产精品极品国产中出| 红桃视频国产精品| 国产传媒在线观看| 日韩一二三区在线观看| 丝袜美腿一区| 久久这里只有| 国产精品igao视频网网址不卡日韩 | 精品亚洲美女网站| 国产精品色在线网站| 黄色成人精品网站| 国产免费播放一区二区| 日本一不卡视频| 免费观看在线色综合| 成人免费网站www网站高清| 国产精一区二区| 国产精品视频一区二区三区综合| 久久久久亚洲| 欧美sss在线视频| 人在线成免费视频| 桃色av一区二区| 国产精品成久久久久| 狂野欧美性猛交xxxx| 欧美日韩一区二区三区在线电影| 亚洲精品动态| 丝袜亚洲精品中文字幕一区| 99综合视频| 日韩av首页| 国产一精品一av一免费爽爽| 女同性一区二区三区人了人一 | 性欧美xxxx免费岛国不卡电影| 亚洲精品乱码久久久久久蜜桃麻豆 | 日韩在线不卡| 一区二区三区国产盗摄| 亚洲视频www| 国产中文欧美日韩在线| 国产精品久久| 久久三级毛片| 精品黄色一级片| 精品欠久久久中文字幕加勒比| 久久只有精品| 久久99精品久久久野外观看| 久久久国产精品网站| 国产精品亚洲产品| 中文字幕av一区二区三区人| 三级亚洲高清视频| 国产精品社区| 亚洲狼人精品一区二区三区| 中文字幕日韩亚洲| 奇米狠狠一区二区三区| 国产亚洲电影| 久久99蜜桃| 岛国av免费在线观看| 五月天激情综合网| 综合日韩在线| 国产日韩精品视频一区二区三区| 久久不见久久见中文字幕免费| 麻豆视频久久| 国模 一区 二区 三区| 日韩视频一区| 日韩精品一区二区三区免费视频 | 天堂网在线观看国产精品| 午夜久久美女| 噜噜噜躁狠狠躁狠狠精品视频 | 国产精品主播在线观看| 麻豆91精品视频| 精品72久久久久中文字幕| 免费观看日韩电影| 欧美+亚洲+精品+三区| 亚洲在线网站| 日韩中文影院| 午夜欧美理论片| 日韩精彩视频在线观看| 国产精品麻豆久久| 免费精品视频在线| 久久国产婷婷国产香蕉| 亚洲精品无播放器在线播放| 亚洲精品动态| 成人在线观看免费视频| 欧美日韩一区二区高清| 日韩欧乱色一区二区三区在线| 青草久久视频| 久久精品一区二区三区中文字幕| 国产白浆在线免费观看| 黄页网站一区| 中文一区一区三区免费在线观| 国产日韩1区| av资源亚洲|