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

首頁 > 編程 > Regex > 正文

php正則表達式中貪婪與非貪婪介紹

2020-03-16 21:00:42
字體:
來源:轉載
供稿:網友
什么叫貪婪,比如說要從字符串中td面包一td td面包二td吃面包,本來你只可以吃面包一,可是你貪心,于是就把第一個td到最后一個td里面的兩個面包取出來了,你想多吃點,非貪婪也就是你不貪吃了,就只吃面包一
 

一、貪婪與非貪婪

什么叫貪婪,比如說要從字符串中<td>面包一</td><td>面包二</td>吃面包,本來你只可以吃面包一,可是你貪心,于是就把第一個<td>到最后一個</td>里面的兩個面包取出來了,你想多吃點,非貪婪也就是你不貪吃了,就只吃面包一。

我們來看看正則里面是怎么貪婪的

<?php$str = '<td>面包一</td><td>面包二</td>';preg_match('/<td>(.*)<//td>/',$str,$res);print_r($res);

結果:

Array 

    [0] => <td>面包一</td><td>面包二</td> 
    [1] => 面包一</td><td>面包二 
)

0記錄的是整個字符,1表示的是第一次匹配。

怎么來限制貪婪?

<?php$str = '<td>面包一</td><td>面包二</td>';preg_match('/<td>(.*?)<//td>/',$str,$res);print_r($res);Array (  [0] => <td>面包一</td>  [1] => 面包一 )

在修飾匹配次數的特殊符號后再加上一個 "?" 號,則可以使匹配次數不定的表達式盡可能少的匹配。

在PHP中還可以通過修飾符來實現,

<?php$str = '<td>面包一</td><td>面包二</td>';preg_match('/<td>(.*)<//td>/U',$str,$res);print_r($res);

結果和上面一樣。這就是修飾符U的作用

二、預搜索

預搜索是一個非獲取匹配,不進行存儲供以后使用。

1、正向預搜索 "(?=xxxxx)","(?!xxxxx)"

"(?=xxxxx)”:所在縫隙的右側,必須能夠匹配上 xxxxx 這部分的表達式,

<?php$str = 'windows NT windows 2003 windows xp';preg_match('/windows (?=xp)/',$str,$res);print_r($res);

結果:

Array 

    [0] => windows 
)

這個是xp前面的windows,不會取NT和2003前面的。

格式:"(?!xxxxx)",所在縫隙的右側,必須不能匹配 xxxxx 這部分表達式

<?php$str = 'windows NT windows 2003 windows xp';preg_match_all('/windows (?!xp)/',$str,$res);print_r($res);

結果:

Array 

[0] => Array 

[0] => windows 這個是nt前面的 
[1] => windows 這個是2003前面的 
)

)

從這里可以看出,預搜索不進行存儲供以后使用。

與會存儲的對比下。

<?php$str = 'windows NT windows 2003 windows xp';preg_match_all('/windows ([^xp])/',$str,$res);print_r($res);

結果:

Array 

[0] => Array 全部模式匹配的數組


[0] => windows N 
[1] => windows 2 
)

[1] => Array 子模式所匹配的字符串組成的數組,通過存儲取得。 

[0] => N 
[1] => 2 
)

)

2、反向預搜索 "(?<=xxxxx)","(?<!xxxxx)"

"(?<=xxxxx)" :所在縫隙的 "左側”能夠匹配xxxxx部分。

<?php$str = '1234567890123456';preg_match('/(?<=/d{4})/d+(?=/d{4})/',$str,$res);print_r($res);

結果:

Array 

    [0] => 56789012 
)

匹配除了前4個數字和后4個數字之外的中間8個數字 
"(?<!xxxxx)":所在縫隙的“左側”不能匹配xxxx部分。

<?php$str = '我1234567890123456';preg_match('/(?<!我)/d+/',$str,$res);print_r($res);

結果:
Array 

    [0] => 234567890123456 
)

 
三、preg和ereg的區別


PHP同時使用兩套正則表達式規則,一套是由電氣和電子工程師協會(IEEE)制定的POSIX Extended 1003.2兼容正則(事實上PHP對此標準的支持并不完善),另一套來自PCRE(Perl Compatible Regular Expression)庫提供PERL兼容正則。 PHP5.3開始POSIX被刪除了。

preg_match 比 ereg效率高。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久久久久噜噜噜久久久精品| 亚洲成人av中文字幕| 国语自产精品视频在免费| 亚洲精品视频二区| 日韩中文有码在线视频| 日韩欧美一区视频| 欧美高跟鞋交xxxxhd| 精品国产91久久久久久| 亚洲精品国产精品国产自| 孩xxxx性bbbb欧美| 日本人成精品视频在线| 欧美午夜激情在线| 国产精品嫩草影院一区二区| 国内外成人免费激情在线视频网站| 色综合91久久精品中文字幕| 97久久精品国产| 国产精品一区二区av影院萌芽| 欧美日韩性视频| 这里只有精品视频在线| 黄色一区二区三区| 色综合天天综合网国产成人网| 懂色av一区二区三区| 欧美黄色www| 日本成人在线视频网址| 欧美日韩电影在线观看| 中文字幕亚洲图片| 国产精品一二三视频| 亚洲男人天堂久| 亚洲最新在线视频| 中国china体内裑精亚洲片| 国产精品视频在线播放| 欧美性猛交xxxxx免费看| 成人性生交大片免费观看嘿嘿视频| 欧美在线观看网址综合| 国产欧美一区二区白浆黑人| 日韩欧美中文字幕在线观看| 97超级碰碰人国产在线观看| 亚洲电影免费观看高清完整版在线| 日韩精品视频在线| 17婷婷久久www| 精品国产一区二区三区久久久狼| 欧美激情一级精品国产| www.亚洲一区| 日韩电影视频免费| 久久手机免费视频| 欧美一区二区大胆人体摄影专业网站| 曰本色欧美视频在线| 91精品综合久久久久久五月天| 黄色成人在线免费| 亚洲大胆人体视频| 92看片淫黄大片欧美看国产片| 国内外成人免费激情在线视频| 亚洲精品国产品国语在线| 精品中文字幕视频| 久久久久久九九九| 91系列在线观看| 国产在线精品成人一区二区三区| 久久激情五月丁香伊人| 国内精久久久久久久久久人| 欧美孕妇与黑人孕交| 97香蕉超级碰碰久久免费的优势| 26uuu久久噜噜噜噜| 性色av一区二区三区红粉影视| 亚洲黄页视频免费观看| 精品人伦一区二区三区蜜桃免费| 国产一区二区三区视频| 日韩电影免费在线观看中文字幕| 欧美日韩美女在线| 国产成人97精品免费看片| 精品国产网站地址| 亚洲性夜色噜噜噜7777| 久久在线视频在线| 国产欧美 在线欧美| 国产精品观看在线亚洲人成网| 亚洲欧美国产精品va在线观看| 国产精品免费视频久久久| 久久99精品久久久久久青青91| 国产视频在线一区二区| 精品无人区乱码1区2区3区在线| 狠狠躁18三区二区一区| 久久91精品国产91久久久| 在线日韩日本国产亚洲| 国产成人精品视| 久久久中精品2020中文| 日韩精品免费在线| 日韩电影大片中文字幕| 中文字幕无线精品亚洲乱码一区| 亚洲毛片在线观看| 久久中文字幕一区| 欧美激情小视频| www.日韩不卡电影av| 国产乱人伦真实精品视频| 久久久国产精彩视频美女艺术照福利| 国产精品海角社区在线观看| 亚洲色图校园春色| 亚洲影视中文字幕| 亚洲国产高清自拍| 91精品久久久久久久久久久久久久| 午夜精品免费视频| 成人免费视频a| 色婷婷av一区二区三区久久| 久久天天躁狠狠躁夜夜躁2014| 国产一区二区日韩| 亚洲精品xxx| 国产日韩综合一区二区性色av| 成人伊人精品色xxxx视频| 欧美日韩亚洲系列| 亚洲国产天堂久久国产91| 亚洲美女www午夜| 亚洲毛片在线免费观看| 精品国产福利视频| 在线电影av不卡网址| 中文字幕在线观看亚洲| 日韩电视剧免费观看网站| 在线精品91av| 日韩在线欧美在线国产在线| 一本色道久久综合亚洲精品小说| 亚洲欧美日韩成人| 日韩av在线免费观看一区| 亚洲一区二区三区四区视频| 欧美色视频日本版| 6080yy精品一区二区三区| 欧美成人午夜影院| 在线午夜精品自拍| 日韩美女在线观看一区| 国产精品色婷婷视频| 日韩av片免费在线观看| 欧美日韩在线观看视频小说| 亚洲国产日韩一区| 欧美专区中文字幕| 日韩中文字幕在线视频| 亚洲激情视频在线播放| 中文字幕av一区二区三区谷原希美| 日韩视频永久免费观看| 国产精品男人爽免费视频1| 日本中文字幕不卡免费| 日本道色综合久久影院| 91高清视频免费观看| 成人亚洲激情网| 久久99久久亚洲国产| 国产精品视频网站| 国产精品视频精品视频| 亚洲乱亚洲乱妇无码| 91精品国产免费久久久久久| 欧美日韩另类在线| 中文字幕亚洲欧美日韩2019| 精品高清美女精品国产区| 88国产精品欧美一区二区三区| 欧美性生交大片免网| 国产成人一区二区三区小说| 欧美激情视频在线| 中文字幕国内精品| 68精品久久久久久欧美| 久久久久女教师免费一区| 国产成人精品在线视频| 久久中文精品视频| 亚洲女人天堂视频| 国产精品视频色| 亚洲精品电影在线| 九九热精品视频| 国产精品入口夜色视频大尺度| 欧美超级乱淫片喷水| 欧美精品在线第一页| 亚洲国产成人精品久久久国产成人一区|