Re: [問題] 請教REs 的m/ 與/ (開頭有無m)差異

看板Perl作者 (Cindy Wang)時間12年前 (2013/07/12 11:44), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《donkeychen (Bad_To_The_Bone)》之銘言: : 請教一下大家 : 對perl不是太熟 : 請教一下 : if ($a =~ m/(aaa)|(bbb)|(ccc)/ ){ : } : 與 : if ($a =~ /(aaa)|(bbb)|(ccc)/ ) { : } : 兩個差異在於 /REs/ : 前面有無m : 我查網路 : 敘述是 "把邊界字元取代成其他字元" : 不是太清楚這句話的意思 : 不太知道怎麼爬這個字的文~_~; : 如有重複發問煩請不吝告知 : 謝謝 : :wq : -- : ※ 發信站: 批踢踢實業坊(ptt.cc) : ◆ From: 111.240.154.208 : → scwg:兩者是一樣的, 只是用 m 時可以寫成 m!(aaa)|(bbb)|(ccc)! 07/11 04:02 : → scwg:當 regular expression 裡有 / 的時候比較方便 07/11 04:02 : → scwg:See "Quote and Quote-like Operators" in perlop 07/11 04:09 : → donkeychen:感謝 所以是用 m! ! 取代 / / 也等於m/ / 07/12 09:18 : 推 scwg:是的, 事實上不只是 !, 幾乎任何字元都可以 m* *; m# #; 甚至 07/12 09:25 : → scwg:括號 m{ }, etc, 更多細節請 man perlop 07/12 09:26 藉題發揮一下, 也是 perl quote 的東西. 在用 s/xxxxx/yyyyy/e 的用法時, 後面那一格放的是程式碼, 如果那一格要放的程式碼比較多比較長的時候, 我會這樣子寫: s(xxxxx){ yyyyy }e 寫起來就像一般的程式 block, 好像 if(xxxxx){ yyyyy } 的感覺 ^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.121.80.249

07/12 20:48, , 1F
妳好噁心 /flee
07/12 20:48, 1F
文章代碼(AID): #1Httk63X (Perl)
文章代碼(AID): #1Httk63X (Perl)