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

首頁 > 編程 > Regex > 正文

php 正則表達式學習筆記

2020-03-16 21:18:58
字體:
來源:轉載
供稿:網友
最近在學習正則,一些比較有用的東西怕忘記,記下來,比較亂,想一條記錄一條:
 
 
復制代碼代碼如下:

//匹配文本,這個偶爾比較好用,但是要小心字符中包含/E  
$str = '[a-z]';  
$str = preg_replace('//G[a-z]/E/', '', $str);  
echo $str; //打印空,全被替換掉了,相關大概就是preg_quote功能  
復制內容到剪貼板代碼:  
//給匹配結果命名,這樣在匹配結果中就可以用這個名稱來獲取值  
$str = 'abc123abc';  
preg_match('/(?P<num>/d+)/', $str, $arr);  
echo $arr['num']; //相當于echo $arr[1] 


復制代碼代碼如下:

//僅用于分組的括號,匹配內容不會被變量捕獲,有時候需要這樣提高執行效率  
$str = 'abc123abc';  
preg_match('/abc(?:/d+)/', $str, $arr);  
echo $arr[1]; //除了$arr[0]外沒有$arr[1]了,不會賦予/1 

復制代碼代碼如下:

//插入的好幫手,向前、向后錨點搜索位置,每3位添加一個逗號  
$str = 'fdfad123456789fdfd';  
$str = preg_replace('/(?<=/d)(?=(/d{3})+(?!/d))/', ',', $str);  
echo $str; //打印 fdfad123,456,789fdfd 

//以最少的結果匹配 
$str = 123456; 
preg_match('//d+/', $str, $arr); 
echo $arr[0]; //是人都知道是123456吧 
preg_match('//d+?/', $str, $arr); 
echo $arr[0]; //這次是1 
//一個比較有用的,可以判斷前面的是否有匹配過,比如下邊的例子,可以忽略等號右邊是否有單引號雙引號或者什么都沒有 
$str = <<<HTML 
<font size=12></font> 
<font size='13'></font> 
<font size="14"></font> 
<font size="15></font> 
HTML; 
preg_match_all('/<font/s+size=([/'"]?)(/d+)/1[^>]*>/', $str, $arr); 
print_r($arr); 
/* 
Array 

    [0] => 12 
    [1] => 13 
    [2] => 14 

*/ 
//部分模式修飾符,模式修飾符也可以放在表達式中的 
//這里匹配符合XHTML規范的style里的顏色值,大寫的STYLE被忽略了,但是里面的color可以大小寫無所謂 
$str = '<b style="COLOR:red"></b><b STYLE="color:blue"></b><b style="color:green"></b>'; 
preg_match_all('/style=([/'"]?)(?i)color:(/w+)/1(?-i)/', $str, $arr); 
print_r($arr[2]) 
//也可以把匹配內容放到里面,用:隔開,就不用寫結束(?-i) 
//preg_match_all('/style=([/'"]?)(?i:color:(/w+))/1/', $str, $arr); 
//再看一例子 
$str = '<B>Style</B>'; 
preg_match('/<B>(?i:style)<//B>/', $str, $arr); 
print_r($arr); //可以匹配到 
$str = '<B>Style</b>'; 
preg_match('/<B>(?i:style)<//B>/', $str, $arr); 
print_r($arr); //什么都沒匹配到 
//單詞檢索,可惜只能用在英文 
$str = 'I/'m a teacher'; 
preg_match_all('//b[a-z]+/b/i', $str, $arr); 
print_r($arr) 
復制內容到剪貼板代碼: 
//u修飾符,按unicode匹配 
$str = '你您'; 
$str = preg_replace('/[你您]/', 'you', $str); 
echo $str; //被拆開了,打印4次you 
//看下面加上u修飾符后的效果,該修飾符需要編碼utf-8否則會報錯 
//我的文本都是gb2312,所以要轉成utf-8 
$str = iconv('gb2312', 'utf-8', '你您'); 
$regex = iconv('gb2312', 'utf-8', '/[你您]/u'); 
$str = preg_replace($regex, 'you', $str); 
echo $str; //打印2次you 
//x模式修飾符,可以忽略空白和加注釋 
$str = 'test Test'; 
preg_match('/test  #只匹配小寫的test/x', $str, $arr); 
print_r($arr); 
復制內容到剪貼板代碼: 
//排除環視(?<!...) (?!...)、忽略優先 *? +? ?? 的復合使用 
$str = 'test <B>test1<B> test2</B>'; 
preg_match('/<B>(?:.(?<!<B>))*<//B>/i', $str, $arr); 
//或者 preg_match('/<B>(?:(?!<B>).)*<//B>/i', $str, $arr); 
print_r($arr) 
//當時這樣寫應付不了 $str = 'test <B>test1<B> test2</B> test3</B>'; 
//改寫一下正則既可 preg_match_all('/<B>(?:(?!<//?B>).)*<//B>/i', $str, $arr); 
//根據上面來完成一個最簡單的UBB替換 
$str = 'test [b]test1[b] test2[/b] test3[/b]test'; 
$str = preg_replace('//[B/]((?:(?!/[//?B/]).)*)/[//B/]/i', '<b>/1</b>', $str); 
$str = preg_replace('//[B/]((?:(?!/[//?B/]).)*)/[//B/]/i', '<b>/1</b>', $str); 
print_r($str) 
//如果已經確認回朔并不會有匹配結果,可以使用固化分組來放棄備用狀態提高效率 
$str = 'Subject'; 
preg_match('/(/w+):/', $str, $arr); 
//用以下方法代替 
//在第一組匹配規則匹配到文本末尾t時匹配結束,啟用第二組匹配規則:并不會找到結果,所以這個時候回朔查找,但是/w不會包含:,所以可以直接放棄, 
preg_match('/(?>/w+):/', $str, $arr); 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人欧美一区二区三区在线| 欧美性猛交99久久久久99按摩| 日韩av在线网址| 国产精品你懂得| 日韩成人av网址| 亚洲伊人久久大香线蕉av| 色婷婷av一区二区三区久久| 国产日韩欧美另类| 亚洲精品久久久久中文字幕二区| 91久久嫩草影院一区二区| 国产精品美女免费| 亚洲精品电影在线观看| 欧美裸身视频免费观看| 成人性教育视频在线观看| 一个人看的www久久| 久久激情视频久久| 97在线免费观看| 成人女保姆的销魂服务| 日韩av电影中文字幕| 欧美性色视频在线| 色中色综合影院手机版在线观看| 91wwwcom在线观看| 国产91精品黑色丝袜高跟鞋| 国产精品吴梦梦| 久久久亚洲网站| 91在线视频免费| 午夜美女久久久久爽久久| 粉嫩老牛aⅴ一区二区三区| 亚洲精品黄网在线观看| 国模精品一区二区三区色天香| 欧美成人免费全部| 亚洲天堂第一页| 55夜色66夜色国产精品视频| 亚洲欧美精品中文字幕在线| 午夜精品理论片| 欧美性理论片在线观看片免费| 欧美性xxxx极品高清hd直播| 成人免费视频xnxx.com| 久久久爽爽爽美女图片| 亚洲天堂av高清| 久久亚洲综合国产精品99麻豆精品福利| 神马国产精品影院av| 中文字幕亚洲一区二区三区| 97在线视频免费播放| 另类专区欧美制服同性| 欧美有码在线视频| 超碰日本道色综合久久综合| 欧美日韩在线观看视频小说| 人人爽久久涩噜噜噜网站| 热久久美女精品天天吊色| 91精品国产91久久| 久久久久久亚洲精品不卡| 欧美性猛交xxxx久久久| 亚洲美女av黄| 国产精品高清在线观看| 亚洲男女自偷自拍图片另类| 91精品国产电影| 最近2019中文字幕mv免费看| 日韩在线观看免费全| 亚洲男人7777| 亚洲新中文字幕| 26uuu另类亚洲欧美日本老年| 中文字幕在线视频日韩| 久久影视电视剧凤归四时歌| 最近2019免费中文字幕视频三| 国产精品专区第二| 国产综合香蕉五月婷在线| 理论片在线不卡免费观看| 日韩成人中文字幕在线观看| 黑人极品videos精品欧美裸| 欧美性生交xxxxxdddd| 亚洲国产97在线精品一区| 日韩在线观看电影| 亚洲国产精彩中文乱码av| 国产98色在线| 中文字幕亚洲一区二区三区五十路| 91中文字幕在线观看| 国产va免费精品高清在线观看| 2021久久精品国产99国产精品| 日韩av黄色在线观看| 精品国产一区二区三区在线观看| 在线播放国产精品| 久久99国产精品自在自在app| 性欧美视频videos6一9| 日韩精品中文字幕视频在线| 国产999精品视频| 欧美激情中文网| 欧美激情精品久久久久久免费印度| 精品视频偷偷看在线观看| 少妇激情综合网| 亚洲片av在线| 国产精品成熟老女人| 中文字幕在线观看日韩| 亚洲最大的av网站| 久久久久www| 欧美国产亚洲精品久久久8v| 国产精品欧美日韩| 亚洲午夜性刺激影院| 国产精品亚洲一区二区三区| 成人在线免费观看视视频| 26uuu另类亚洲欧美日本一| 亚洲电影免费观看高清完整版在线观看| 中文字幕视频在线免费欧美日韩综合在线看| 久久琪琪电影院| 91视频国产精品| 中文字幕亚洲无线码a| 色悠久久久久综合先锋影音下载| 亚洲一二三在线| 亚洲色图18p| 欧美日韩国产123| 欧美在线观看视频| 91久久久久久久| 久久久久久久久久久亚洲| 欧美一区二区影院| 26uuu另类亚洲欧美日本一| 精品国产一区二区三区四区在线观看| 国产极品精品在线观看| 日韩男女性生活视频| 久久久综合av| 日韩女在线观看| 欧美激情在线狂野欧美精品| 疯狂欧美牲乱大交777| 国产精品一区二区三区在线播放| 精品夜色国产国偷在线| 国产欧美日韩最新| 亚洲电影免费观看高清完整版| 日韩女优在线播放| 国产丝袜精品第一页| 久久九九热免费视频| 91色中文字幕| 狠狠躁夜夜躁人人爽超碰91| 92国产精品久久久久首页| 8050国产精品久久久久久| 欧美性做爰毛片| 欧美肥老太性生活视频| 懂色av一区二区三区| 精品国产依人香蕉在线精品| 伊人成人开心激情综合网| 欧美电影在线观看| 亚洲的天堂在线中文字幕| 亚洲自拍中文字幕| 成人97在线观看视频| 国产精品视频一| 久久久国产精品一区| 日韩av日韩在线观看| 欧美成人激情视频| 精品国产欧美一区二区三区成人| 欧美日韩国产在线| 亚洲国产成人精品一区二区| 国产精品高精视频免费| 亚洲图片欧美午夜| 亚洲第一区第一页| 日本91av在线播放| 岛国视频午夜一区免费在线观看| 亚洲精品影视在线观看| 懂色av影视一区二区三区| 亚洲男人天堂久| 久久久久久久影院| 中文字幕九色91在线| 亚洲精品720p| 亚洲网站在线看| 日韩精品极品在线观看| 亚洲欧美国产视频| 亚洲视频在线观看|