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

首頁 > 編程 > Regex > 正文

CFC4N小試php正則表達式

2020-03-16 21:11:43
字體:
來源:轉載
供稿:網友
要求根據一串字符串,反轉成PHP數組,其給出的字符串為php的print_r打印出來的。
 
 
朋友甲:要求根據一串字符串,反轉成PHP數組,其給出的字符串為php的print_r打印出來的。我們在暫不考慮此方法是否能確保數據的準確性,以及其他意外等情況,僅根據要求寫正則。 
其字符串為 
復制代碼代碼如下:

Array 

[tt] => Array 

[table] => qqttcode 
[hitcode] => 1 

[ww] => Array 

[table] => qqwwcode 
[hitcode] => 

[pp] => Array 

[table] => qqppcode 
[hitcode] => Array 

[table] => qqppcode 
[hitcode] => 



CFC4N給出一下結果: 
復制代碼代碼如下:

$strRge1 = '/(/[([^]]+)]/s?=>/s?)?Array[/s/S]+?/(([^()]|(?R))*/)/i'; 
$arrReturn = array(); 
if (preg_match_all($strRge1,$str,$tt1)) 

$arrReturn = getarray($tt1[0][0]); 

$arrReturn2 = array(); 
foreach ($arrReturn as $k => $v) 

$arrReturn2[$k] = $v[$k]; 

print_r($arrReturn2); 
function getarray ($strContents) 

$arrTemp = array(); 
$strRge = '//[([^]]+)]/s?=>/s?Array[/s/S]+?/(([^()]|(?R))*/)/i'; 
$strReg2 = '//[([^]]+?)]/s?=>/s?([/d/w]+)?/'; 
if (preg_match_all($strRge,$strContents,$strTemp)) 

$num = count($strTemp[1]); 
if ($num > '1') 

for ($i=0; $i<$num; $i++) 

if (preg_match_all($strRge,$strTemp[0][$i],$arrTTT)) 

$arrTemp[$strTemp[1][$i]] = array(); 
$arrTemp[$strTemp[1][$i]] = getarray($strTemp[0][$i]); 

else 

$arrTemp[$strTemp[1][$i]] = $strTemp[0][$i]; 



else 

$arrTemp[$strTemp[1][0]] = array(); 
$arrTemp2 = array(); 
if (preg_match_all($strReg2, $strTemp[0][0],$straa)) 

$num = count($straa[0]); 
for ($i=0; $i<$num-1; $i++) 

$arrTemp2[$straa[1][$i+1]] = $straa[2][$i+1]; 


$arrTemp[$strTemp[1][0]] = $arrTemp2; 


return $arrTemp; 

結果是可以用的。但是發現其只能用于固定的三層嵌套,假如N層的話,無法用這個函數了,后來,我又改造一下那個正則,改為 
復制代碼代碼如下:

$strRge1 = '//[(([^]]+)]/s?=>/s?Array[/s]+?/(([^()])+|(?R))/)+/i'; 

但是,并不能解決問題。。各位看官,您認為,我的誤區在哪里呢? 
附 第一個正則截圖 
CFC4N小試php正則表達式
更改后正則匹配截圖 
CFC4N小試php正則表達式
朋友乙:要求批量給html字符串中a標簽中不包含title屬性的標簽添加title,而且,其title內容為<a href…>到</a>之間的文本。。 
CFC4N給出答案為: 
復制代碼代碼如下:

$str = '<a >ssss</a><a href="ss" >ssss</a><a style="border-left-color: rgb(0, 153, 204); border-left-width: 1px; border-left-style: solid; padding: 0px 3px; margin: 3px auto 0px; width: 640px; background-color: rgb(242, 246, 251); clear: both; border-top-color: rgb(0, 153, 204); border-top-width: 1px; border-top-style: solid; border-right-color: rgb(0, 153, 204); border-right-width: 1px; border-right-style: solid;"> 復制代碼代碼如下:

$str = '<a >ssss</a><a href="ss" >ssss</a><a style="border-left-color: rgb(0, 153, 204); border-left-width: 1px; border-left-style: solid; padding: 0px 3px; margin: 3px auto 0px; width: 640px; background-color: rgb(242, 246, 251); clear: both; border-top-color: rgb(0, 153, 204); border-top-width: 1px; border-top-style: solid; border-right-color: rgb(0, 153, 204); border-right-width: 1px; border-right-style: solid;"> 復制代碼代碼如下:

[url=http://www.sadas.cn]baidu[/url] 

[url=www.ggasdwe.com]百度[/url] 
[url=http://www.qq.com/index.php]QQ[/url] 

[url=http://www.miyifun.com/index.html]其他 

[/url] 
[url=pc.qq.com/index.php]PC QQ[/url] 

其中,字符串中不確定有幾個換行等其他字符,而且,不確定url的UBB標簽中的網址中是否包含http://,不確定二級域名或者三級域名 

CFC4N給出的正則以及PHP代碼如下 
復制代碼代碼如下:

$str = '[url=http://www.sadas.cn]baidu[/url] 

[url=www.ggasdwe.com]百度[/url] 
[url=http://www.qq.com/index.php]QQ[/url] 

[url=http://www.miyifun.com/index.html]其他 

[/url] 
[url=pc.qq.com/index.php]PC QQ[/url]'; 
print_r(preg_replace('%/[url=(http://)?(?:(?!qq/.com)[^/]])*/][/r|/r/n]*([/s/S]+?)[/r|/r/n]*/[/url/]%i','//2',$str)); 

各位看官,您認為這里哪里是多余的?還可以進行哪些正則的優化來提高效率?如果沒看懂,那您的疑問在哪里?

朋友丁:要求讀取squid的配置文件中,起作用的行,也就是沒有#開頭進行注釋的行
其中,squid的配置文件內字符串見附件中
squid的配置文件內容
CFC4N給出正則代碼如下

復制代碼代碼如下:

preg_match_all('/^(?!#).+?$/m', file_get_contents('squid.conf'), $regs); 
print_r($regs[0]); 

運行截圖 
CFC4N小試php正則表達式
看官們,您認為,這個正則還有哪些沒注意到的點?能否正確無誤的匹配到朋友丁所需要的內容?您有疑問嗎?

 

PS:以上正則,均為PCRE引擎。。其中,PHP代碼的正則遞歸(迭代)部分,僅限于支持遞歸正則的引擎代碼適用。。
感謝rex老大指點關于(?!)零寬斷言非匹配的特性后接匹配規則可能無效的問題。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品jvid在线观看蜜臀| 97在线精品视频| 国产精品久在线观看| 久久99精品视频一区97| 欧美一二三视频| 日本不卡高字幕在线2019| 色哟哟网站入口亚洲精品| 美女啪啪无遮挡免费久久网站| 欧美综合一区第一页| 亚洲精品之草原avav久久| 国产精品老女人视频| 国产精品美女主播在线观看纯欲| 国自在线精品视频| 久久在线精品视频| 亚洲天堂av综合网| 精品国产乱码久久久久酒店| 国产亚洲精品久久久久动| 色婷婷综合久久久久| 久久久久久久av| 日韩少妇与小伙激情| 亚洲人成电影在线| 久久久久久国产| 成人激情视频小说免费下载| 国产亚洲视频在线| 欧美视频精品一区| 国产在线拍揄自揄视频不卡99| 欧美电影在线观看高清| 亚洲激情视频网| 欧美黑人国产人伦爽爽爽| 亚洲欧美日韩爽爽影院| 亚洲国产精品一区二区三区| 色妞色视频一区二区三区四区| 亚洲精品国偷自产在线99热| 国产精品777| 少妇高潮久久77777| 欧美日韩免费在线观看| 日韩精品在线视频观看| wwwwwwww亚洲| 国产精品一区二区久久国产| 91精品国产91久久久久久| 91麻豆国产语对白在线观看| 久久在线免费视频| 国产精品视频yy9099| 成人免费观看网址| 5566日本婷婷色中文字幕97| 亚洲free性xxxx护士白浆| 国产精品偷伦一区二区| 欧美日韩在线第一页| 精品色蜜蜜精品视频在线观看| 精品呦交小u女在线| 欧美日韩电影在线观看| 亚洲三级 欧美三级| 狠狠久久五月精品中文字幕| yw.139尤物在线精品视频| 欧美性猛交99久久久久99按摩| 在线成人激情黄色| 日本久久久久久久久久久| 91精品久久久久久综合乱菊| 欧美日韩一区二区免费在线观看| 欧美国产第一页| 久久免费视频网站| 欧美又大又硬又粗bbbbb| 国产视频观看一区| 国产一区视频在线播放| 精品人伦一区二区三区蜜桃网站| 亚洲国产精品福利| www.亚洲免费视频| 亚洲欧美日韩精品久久| 96sao精品视频在线观看| 亚洲自拍另类欧美丝袜| 91免费综合在线| 亚洲精品电影久久久| 久久国产精品视频| 一道本无吗dⅴd在线播放一区| 久久久久久久影视| 精品国产乱码久久久久久天美| 国产精品高潮在线| 午夜免费久久久久| 亚洲视频第一页| 国产成人精品999| 成人精品一区二区三区电影黑人| 欧美极品欧美精品欧美视频| 亚洲精选中文字幕| 日本高清不卡在线| 欧美性xxxx极品hd满灌| 欧美日韩成人黄色| 亚洲精选一区二区| 97在线精品国自产拍中文| 成人女保姆的销魂服务| 亚洲自拍小视频| 日韩高清免费观看| 国产69精品久久久久99| 色综合久久中文字幕综合网小说| 亚洲激情在线观看| 亚洲精品wwwww| 国产精品中文字幕久久久| 久久精品中文字幕免费mv| 一夜七次郎国产精品亚洲| 91久久中文字幕| 欧美精品电影在线| 日韩精品一二三四区| 538国产精品视频一区二区| 国产精品色婷婷视频| 欧美日韩国产麻豆| www.日韩不卡电影av| 国外成人免费在线播放| 丝袜情趣国产精品| 欧美丝袜美女中出在线| 国产拍精品一二三| 精品久久久久久久久久久久| 91色视频在线观看| 亚洲国产女人aaa毛片在线| 国产成人涩涩涩视频在线观看| 国产精品精品视频| 日韩精品免费看| 日本19禁啪啪免费观看www| 亚洲女人天堂色在线7777| 操人视频在线观看欧美| 日韩在线观看精品| 第一福利永久视频精品| 国产精品一区二区三| 久久免费视频这里只有精品| 黑人巨大精品欧美一区免费视频| 国产一区二区三区丝袜| 欧美激情性做爰免费视频| 亚洲精品资源在线| 国产经典一区二区| 中文字幕日韩视频| www.xxxx欧美| 久久久免费av| 中文字幕日韩精品在线| 乱亲女秽乱长久久久| 久久久精品国产亚洲| 国产在线视频91| 亚洲a在线播放| 粗暴蹂躏中文一区二区三区| 国产激情久久久| 福利微拍一区二区| 日产精品久久久一区二区福利| 日韩欧美国产中文字幕| 国产精品一区二区三区毛片淫片| 国产男女猛烈无遮挡91| 国产精品∨欧美精品v日韩精品| 欧美性猛交xxxx乱大交3| 最近中文字幕2019免费| 欧美激情一区二区三区高清视频| 国产精品视频自拍| 精品久久久久久久久久久久久久| 久久99精品久久久久久青青91| 欧美性猛交xxxx富婆弯腰| 懂色av一区二区三区| 国产激情999| 欧美黄网免费在线观看| 欧美视频中文字幕在线| 国产xxx69麻豆国语对白| 清纯唯美日韩制服另类| 国产欧美日韩亚洲精品| 51久久精品夜色国产麻豆| 亚洲成人在线网| 日韩av手机在线看| 亚洲国产精品成人一区二区| 7m第一福利500精品视频| 国产免费亚洲高清| 久久精品男人天堂|