亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

<?php //請修改變量p的正則表達式,使他能夠匹配str中的姓名 $p = '/\w{4}:(\w{6}\s{1}\w{4})/'; $str = "name:steven jobs"; preg_match($p, $str, $match); echo $match[1]; //結果為:steven jobs

$p = '/\w{4}:(\w{6}\s{1}\w{4})/';可以$p = '/\w{6}\s{1}\w{4}/';不行 ? ?為什呢?呢??????????

正在回答

2 回答

如果是$p = '/\w{4}:(\w{6}\s{1}\w{4})/';

$match[0]=name:steven jobs

$match[1]=steven jobs

如果是$p = '/\w{4}:(\w{6}\s({1}\w{4}))/;

$match[0]=name:steven jobs

$match[1]=steven jobs

$match[2]=jobs

至于具體原因在于int?preg_match( string pattern, string subject [, array matches [, int flags]] )函數

如果提供了?matches,則其會被搜索的結果所填充。$matches[0] 將包含與整個模式匹配的文本,$matches[1]?將包含與第一個捕獲的括號中的子模式所匹配的文本,以此類推。

所以就會出現你的現象了

2 回復 有任何疑惑可以回復我~

你這樣可以,但是打印的時候要是 mantch[0]

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

<?php //請修改變量p的正則表達式,使他能夠匹配str中的姓名 $p = '/\w{4}:(\w{6}\s{1}\w{4})/'; $str = "name:steven jobs"; preg_match($p, $str, $match); echo $match[1]; //結果為:steven jobs

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號