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

首頁 > 編程 > Regex > 正文

實用的正則表達式學習日記

2024-09-07 17:40:13
字體:
來源:轉載
供稿:網友

我們在學習正則表達式的時候最好將學習過程中的重要知識記錄下來這樣才有助于我們更好地掌握正則表達式,今天小編就將為大家分享一些實用的正則表達式學習日記,希望對大家的學習有所幫助。

//匹配文本,這個偶爾比較好用,但是要小心字符中包含/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
欧美日韩国产丝袜另类| 国产亚洲欧洲黄色| 97高清免费视频| 日韩精品黄色网| 国产精品久久久久国产a级| 黑人狂躁日本妞一区二区三区| 久久久久久久久久亚洲| 欧美激情久久久久久| 国产精品99蜜臀久久不卡二区| 欧美激情精品久久久久久变态| 国产精品久久久久久久久男| 亚洲爱爱爱爱爱| 日韩在线播放av| 国产成+人+综合+亚洲欧洲| 奇米一区二区三区四区久久| 欧美性猛交xxx| 欧美激情免费视频| 国产日本欧美视频| 国产a∨精品一区二区三区不卡| 国产精品久久色| 国产不卡精品视男人的天堂| 国产丝袜视频一区| 久久久爽爽爽美女图片| 久久视频免费在线播放| 成人国产精品av| 久热精品视频在线免费观看| 播播国产欧美激情| 亚洲国产精品大全| 亚洲欧美在线免费观看| 97在线精品国自产拍中文| 久久亚洲国产精品成人av秋霞| 国自产精品手机在线观看视频| 国产成人自拍视频在线观看| 国产男女猛烈无遮挡91| 亚洲女人被黑人巨大进入al| 国产精品第七十二页| 日韩在线免费高清视频| 亚洲sss综合天堂久久| 亚洲欧美变态国产另类| 国产欧美精品xxxx另类| 日韩一区二区三区在线播放| 色综合老司机第九色激情| 精品色蜜蜜精品视频在线观看| 国产一区二区三区视频| 亚洲免费av网址| 日韩av在线资源| 亚洲人成网站777色婷婷| 久久福利网址导航| 国产视频福利一区| 亚洲黄色av女优在线观看| 亚洲国语精品自产拍在线观看| 欧美成人手机在线| 日韩av电影国产| 久久国产精品久久国产精品| 国产精品一区二区3区| 亚洲精品日韩丝袜精品| 成人精品在线观看| 宅男66日本亚洲欧美视频| 91精品国产自产在线观看永久| 欧美激情成人在线视频| 亚洲欧美日韩一区二区三区在线| 亚洲综合在线小说| 成人精品视频在线| 欧美丰满少妇xxxx| 久久亚洲私人国产精品va| 26uuu亚洲伊人春色| 爽爽爽爽爽爽爽成人免费观看| 国产精品大片wwwwww| 亚洲国产成人久久综合一区| 国产97人人超碰caoprom| 亚洲一区二区三区乱码aⅴ| 亚洲成人网在线观看| 国产精品视频99| 69久久夜色精品国产7777| 欧美在线激情网| 国产成人综合一区二区三区| 亚洲成色999久久网站| 久久视频免费在线播放| 久久在线观看视频| 92版电视剧仙鹤神针在线观看| 久久伊人精品一区二区三区| 亚洲综合中文字幕在线观看| 欧美激情免费在线| 一区二区三区久久精品| 成人国产亚洲精品a区天堂华泰| 欧美在线视频在线播放完整版免费观看| 精品香蕉在线观看视频一| 欧美一区二粉嫩精品国产一线天| 国产精品久久久久久久电影| www.久久久久久.com| 国产不卡精品视男人的天堂| 欧美日韩成人在线播放| 97精品欧美一区二区三区| 国产a级全部精品| 欧美精品手机在线| 亚洲а∨天堂久久精品喷水| 国产精品日韩在线观看| 中文字幕在线国产精品| 欧美做受高潮电影o| 国产精品久在线观看| 日韩av资源在线播放| 日韩精品在线免费观看视频| 美女撒尿一区二区三区| 亚洲天堂开心观看| 国产一区二区丝袜高跟鞋图片| 国产97色在线|日韩| 揄拍成人国产精品视频| 精品美女永久免费视频| 久久精品久久久久| 国产精品久久久久久久久久久不卡| 欧美精品videofree1080p| 日本午夜在线亚洲.国产| 疯狂欧美牲乱大交777| www.日韩av.com| 久久免费视频网站| 国产视频观看一区| 韩国精品美女www爽爽爽视频| 欧美性少妇18aaaa视频| 日韩精品在线视频观看| 国内偷自视频区视频综合| 亚洲成人在线视频播放| 精品中文视频在线| 91精品国产自产在线老师啪| 欧美电影院免费观看| 中文字幕在线观看亚洲| 欧美电影免费观看高清| 91亚洲精华国产精华| 国产欧美一区二区三区在线看| 成人欧美在线视频| 欧洲成人性视频| 欧美激情精品久久久久久蜜臀| 自拍偷拍亚洲区| 国产美女被下药99| 亚洲美女免费精品视频在线观看| 亚洲xxxx18| 97久久精品视频| 亚洲人在线视频| 91久久久国产精品| 中文字幕欧美国内| 国产精品久久久久久av下载红粉| 国产精品久久久久一区二区| 欧美大胆a视频| 久久精品亚洲94久久精品| 亚洲视频在线观看免费| 国产精品男人的天堂| 亚洲精品v天堂中文字幕| 粗暴蹂躏中文一区二区三区| 亚洲成人激情小说| 欧美尺度大的性做爰视频| 欧美日韩亚洲国产一区| 欧美午夜xxx| 综合久久五月天| 欧美大片在线看免费观看| 成人做爽爽免费视频| 91超碰中文字幕久久精品| 中文字幕亚洲自拍| 亚洲国产精品成人一区二区| 久久久精品国产网站| 亚洲精品www久久久| 久久久黄色av| 91精品国产色综合久久不卡98| 一区二区在线视频播放| 成人网在线免费看| 国产香蕉97碰碰久久人人|