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

首頁 > 編程 > regex > 正文

正則表達式模式修飾符

2020-01-20 22:03:51
字體:
來源:轉載
供稿:網友

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_EVAL)

Warning

本特性已自 PHP 5.5.0 起廢棄。強烈建議不要使用本特性。

如果設置了這個被棄用的修飾符, preg_replace() 在進行了對替換字符串的 后向引用替換之后, 將替換后的字符串作為php 代碼評估執行(eval 函數方式),并使用執行結果 作為實際參與替換的字符串。單引號、雙引號、反斜線(/)和 NULL 字符在 后向引用替換時會被用反斜線轉義.

Caution

The addslashes() function is run on each matched backreference before the substitution takes place. As such, when the backreference is used as a quoted string, escaped characters will be converted to literals. However, characters which are escaped, which would normally not be converted, will retain their slashes. This makes use of this modifier very complicated.

Caution

請確保 replacement 參數由合法 php 代碼字符串組成,否則 php 將會 在preg_replace() 調用的行上產生一個解釋錯誤。

Caution

Use of this modifier is discouraged, as it can easily introduce security vulnerabilites:

<?php$html = $_POST['html'];// uppercase headings$html = preg_replace('(<h([1-6])>(.*?)</h/1>)e','"<h$1>" . strtoupper("$2") . "</h$1>"',$html);

The above example code can be easily exploited by passing in a string such as <h1>{${eval($_GET[php_code])}}</h1>. This gives the attacker the ability to execute arbitrary PHP code and as such gives him nearly complete access to your server.

To prevent this kind of remote code execution vulnerability the preg_replace_callback() function should be used instead:

<?php$html = $_POST['html'];// uppercase headings$html = preg_replace_callback('(<h([1-6])>(.*?)</h/1>)',function ($m) {return "<h$m[1]>" . strtoupper($m[2]) . "</h$m[1]>"},$html);

Note:

僅 preg_replace() 使用此修飾符,其他 PCRE 函數忽略此修飾符。

A (PCRE_ANCHORED)
如果設置了這個修飾符,模式被強制為”錨定”模式,也就是說約束匹配使其僅從 目標字符串的開始位置搜索。這個效果同樣可以使用適當的模式構造出來,并且 這也是 perl 種實現這種模式的唯一途徑。
D (PCRE_DOLLAR_ENDONLY)
如果這個修飾符被設置,模式中的元字符美元符號僅僅匹配目標字符串的末尾。如果這個修飾符 沒有設置,當字符串以一個換行符結尾時, 美元符號還會匹配該換行符(但不會匹配之前的任何換行符)。 如果設置了修飾符m,這個修飾符被忽略. 在 perl 中沒有與此修飾符等同的修飾符。
S
當一個模式需要多次使用的時候,為了得到匹配速度的提升,值得花費一些時間 對其進行一些額外的分析。如果設置了這個修飾符,這個額外的分析就會執行。當前, 這種對一個模式的分析僅僅適用于非錨定模式的匹配(即沒有單獨的固定開始字符)。
U (PCRE_UNGREEDY)
這個修飾符逆轉了量詞的”貪婪”模式。 使量詞默認為非貪婪的,通過量詞后緊跟? 的方式可以使其成為貪婪的。這和 perl 是不兼容的。 它同樣可以使用 模式內修飾符設置 (?U)進行設置, 或者在量詞后以問號標記其非貪婪(比如.*?)。
Note:

在非貪婪模式,通常不能匹配超過 pcre.backtrack_limit 的字符。

X (PCRE_EXTRA)
這個修飾符打開了 PCRE 與 perl 不兼容的附件功能。模式中的任意反斜線后就 ingen 一個 沒有特殊含義的字符都會導致一個錯誤,以此保留這些字符以保證向后兼容性。 默認情況下,在 perl 中,反斜線緊跟一個沒有特殊含義的字符被認為是該字符的原文。 當前沒有其他特性由這個修飾符控制。
J (PCRE_INFO_JCHANGED)
內部選項設置(?J)修改本地的PCRE_DUPNAMES選項。允許子組重名, (譯注:只能通過內部選項設置,外部的 /J 設置會產生錯誤。)
u (PCRE_UTF8)
此修正符打開一個與 perl 不兼容的附加功能。 模式字符串被認為是utf-8的. 這個修飾符 從 unix 版php 4.1.0 或更高,win32版 php 4.2.3 開始可用。 php 4.3.5 開始檢查模式的 utf-8 合法性。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产欧美日韩91| 国产乱肥老妇国产一区二| 久久久久久久一区二区三区| www.亚洲免费视频| 国产日韩在线一区| 庆余年2免费日韩剧观看大牛| 国产一区二区香蕉| 92福利视频午夜1000合集在线观看| 久久久精品在线| 2019亚洲日韩新视频| 亚洲人成电影网站色www| 欧美精品亚州精品| 久久久久成人精品| 亚洲福利影片在线| 欧美日韩国产中字| 成人免费xxxxx在线观看| 亚洲国产另类 国产精品国产免费| 欧美激情性做爰免费视频| 国产欧美在线观看| 欧美激情免费观看| 92看片淫黄大片看国产片| 国模精品视频一区二区| 亚洲精品久久久久中文字幕欢迎你| 欧美网站在线观看| 亚洲国产成人精品久久久国产成人一区| 色综合男人天堂| 韩日欧美一区二区| 2019av中文字幕| 国产九九精品视频| 亚洲欧美中文日韩v在线观看| 日本欧美在线视频| 欧美精品一二区| 黑人巨大精品欧美一区二区免费| 欧美日韩综合视频网址| 91在线视频免费| 亚洲黄在线观看| 亚洲色图综合久久| 欧美中文字幕视频在线观看| 一区二区欧美在线| 成人天堂噜噜噜| 精品国产一区二区三区久久久| 欧美高清理论片| 亚洲欧美日韩综合| 欧美人成在线视频| 欧美色欧美亚洲高清在线视频| 国产在线日韩在线| 91sa在线看| 亚洲国产欧美精品| 亚洲欧美日韩国产中文专区| 综合久久五月天| 亚洲一区二区三区乱码aⅴ蜜桃女| 91精品久久久久久久久青青| 日韩精品视频在线播放| 8090成年在线看片午夜| 成人日韩在线电影| 亚洲欧美国产制服动漫| 欧美亚洲成人xxx| 欧美韩国理论所午夜片917电影| 一区二区在线视频播放| 亚洲第一福利在线观看| 国产午夜精品一区二区三区| 国产黑人绿帽在线第一区| 国产精品美女www爽爽爽视频| 国产精品亚洲精品| 中文字幕在线亚洲| 日韩av最新在线观看| 欧美一级高清免费播放| 国产精品免费一区二区三区都可以| 亚洲美女动态图120秒| 精品国产网站地址| 欧美日韩久久久久| 色综合久久88| 欧美插天视频在线播放| 亚洲老头同性xxxxx| 亚洲色图第三页| 国产欧美日韩综合精品| 久久夜色撩人精品| 亚洲国产日韩一区| 欧美激情亚洲视频| 国产成人欧美在线观看| 亚洲黄色在线观看| 亚洲丝袜一区在线| 国产亚洲精品久久久久久牛牛| 日韩高清免费在线| 国产午夜精品久久久| 91精品国产色综合久久不卡98口| 亚洲国产欧美一区二区丝袜黑人| 亚洲久久久久久久久久久| 亚洲成人av片在线观看| 国产精品一区二区久久国产| 欧美日韩视频免费播放| 91成人福利在线| 国产日韩在线一区| 高清欧美性猛交xxxx| 精品国偷自产在线| 色偷偷av一区二区三区乱| 久久免费视频在线观看| 欧美激情视频在线观看| 成人免费黄色网| 久久久久久av| 国产成人午夜视频网址| 精品久久久久久中文字幕一区奶水| 精品久久久久人成| 国产精品va在线播放我和闺蜜| 欧美精品免费在线观看| 欧美综合激情网| 欧美电影免费观看电视剧大全| 青青久久aⅴ北条麻妃| 亚洲精美色品网站| 欧美日韩国产第一页| 日韩电视剧免费观看网站| 韩剧1988免费观看全集| 欧美日韩国产第一页| 久久亚洲欧美日韩精品专区| 国产精品久久久久久久久久久不卡| 98精品在线视频| 91九色蝌蚪国产| 欧美www在线| 亚洲网站在线看| 国产精品欧美风情| 日韩亚洲欧美中文在线| 亚洲视频视频在线| 久久久久久久电影一区| 91精品在线观看视频| 欧美午夜影院在线视频| 国产亚洲精品一区二区| 国产精品亚洲一区二区三区| 2019中文字幕在线免费观看| 亚洲性夜色噜噜噜7777| 亚洲美女av黄| 黄网动漫久久久| 国产精品欧美日韩久久| 欧美国产高跟鞋裸体秀xxxhd| 国产精品激情av在线播放| 欧美极品少妇全裸体| 92国产精品久久久久首页| 国产精品人成电影在线观看| 欧美电影免费观看电视剧大全| 午夜精品免费视频| 亚洲情综合五月天| 欧美精品videos另类日本| 色婷婷亚洲mv天堂mv在影片| 最新69国产成人精品视频免费| 国模叶桐国产精品一区| 日韩中文第一页| 欧美极度另类性三渗透| 成人网欧美在线视频| 国产a∨精品一区二区三区不卡| 亚洲第一福利网站| 亚洲一区第一页| 国产精品久久久久久亚洲调教| 在线看片第一页欧美| 午夜免费在线观看精品视频| www.日韩.com| 91免费国产网站| 激情懂色av一区av二区av| 一本久久综合亚洲鲁鲁| 国产999精品视频| 亚洲爱爱爱爱爱| 超薄丝袜一区二区| 色偷偷综合社区| 亚洲无线码在线一区观看| 国产亚洲欧美视频| 国产精品综合网站|