[请益] 请教terminal 喂正规表示法给perl问题

楼主: jacky1989   2021-04-10 02:11:08
大家好
我以terminal喂资料给perl遇到一些问题
fileA
Aao.a1.b2.c3.d4:a
Aao.a5.b10.c6.d2:b
Abo.a6.b15.c2.d9:b
Aao.a6.b4.c2.d7:b
Aao.a6.b4.c5.d7:b
我要从fileA找到特定的字串
我这样写
tmp.pl
open fid_rd,”<fileA”;
while(<fid_rd>){
if($_ =~ /ARGV[0]/){
print $_;
}
}
close fid_rd;
>./tmp.pl A[ao\bo]+.a[1\|6]+.b[4\15|]+.c[2\|5]+.d[7\|9]+:b
理论上应该要出现3,4,5行,但是有可能出现第一行或第二行不符合规则的资料
所以想跟大家请教,我要怎么改才对呢?
先谢谢大家了
因为公司无法把程式码寄出来,所以我写简易版的,如果需要更多资讯,请再跟我说,感谢
作者: herculus6502 (金麟岂是池中物)   2021-04-10 14:27:00
regular expression写法有问题,你要的可能是(…)而不是[...],建议写死在程式码中先测试一下
作者: flu (Crazy Rhythm)   2021-04-10 16:36:00
\b 在[...]里面代表 backspace 字符
作者: herculus6502 (金麟岂是池中物)   2021-04-11 06:31:00
参 www.regular-expressions.info/charclass.html

Links booklink

Contact Us: admin [ a t ] ucptt.com