作者CindyLinz (Cindy Wang)
看板Perl
标题Re: [问题] 请教REs 的m/ 与/ (开头有无m)差异
时间Fri Jul 12 11:44:04 2013
※ 引述《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
1F:→ scwg:你好恶心 /flee 07/12 20:48