贊助廠商

娛樂城推薦

首頁

刊登資訊

  • 刊登者:匿名
  • 時間:2021-06-15 17:50:06

尚未解答Perl- 正規表示式擷取疑問

Perl- 正規表示式擷取疑問

感謝P友的大力協助
將第二個括號改成\w即可
------------------------------------------------------------
大家好,我在工作上使用perl遇到一些問題想請教大家該怎麼處理好
$str='Hello.I.am.Apple.nice.to.meet.you';
if($str=~/Hello\.(\S*)\.Apple\S*to\.(\S*)[\.you]*/){
$sub_str1=$1;
$sub_str2=$2;
}
print '$sub_str2\n';

原本預期應該要抓到meet,但是正規表示式卻抓到meet.you
code為什麼這樣寫,因為要處理的字串有時候可能不含you這個字
為什麼不使用split?因為抓的字串中間可能含有'.',而且到底要包含多少個'.'
則視狀況而定,有可能這次抓I.am,下次有可能抓I.am.Apple
所以我認為用split在這邊不適用
礙於公司有規定工作上任何東西都不能外洩,所以我只能用簡單例子來詢問

再麻煩高手幫我了,在此先謝上

--

0個答案 Perl- 正規表示式擷取疑問

其他問題

友站連結