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

看板Perl作者 (Bad_To_The_Bone)時間12年前 (2013/07/11 00:43), 編輯推噓2(205)
留言7則, 3人參與, 最新討論串1/2 (看更多)
請教一下大家 對perl不是太熟 請教一下 if ($a =~ m/(aaa)|(bbb)|(ccc)/ ){ } 與 if ($a =~ /(aaa)|(bbb)|(ccc)/ ) { } 兩個差異在於 /REs/ 前面有無m 我查網路 敘述是 "把邊界字元取代成其他字元" 不是太清楚這句話的意思 不太知道怎麼爬這個字的文~_~; 如有重複發問煩請不吝告知 謝謝 :wq -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.240.154.208

07/11 04:02, , 1F
兩者是一樣的, 只是用 m 時可以寫成 m!(aaa)|(bbb)|(ccc)!
07/11 04:02, 1F

07/11 04:02, , 2F
當 regular expression 裡有 / 的時候比較方便
07/11 04:02, 2F

07/11 04:09, , 3F
See "Quote and Quote-like Operators" in perlop
07/11 04:09, 3F

07/12 09:18, , 4F
感謝 所以是用 m! ! 取代 / / 也等於m/ /
07/12 09:18, 4F

07/12 09:25, , 5F
是的, 事實上不只是 !, 幾乎任何字元都可以 m* *; m# #; 甚至
07/12 09:25, 5F

07/12 09:26, , 6F
括號 m{ }, etc, 更多細節請 man perlop
07/12 09:26, 6F

07/13 15:50, , 7F
水哦,雖然我已很習慣用backslash去escape...
07/13 15:50, 7F
文章代碼(AID): #1HtOyhEb (Perl)
文章代碼(AID): #1HtOyhEb (Perl)