- 论坛徽章:
- 145
|
本帖最后由 jason680 于 2014-02-13 16:15 编辑
回复 1# ld462370527
$ cat test.pl
while (<DATA>) {
$cnt = 0;
#chomp;
while(m/(?:[^4]\d\d\d\d|\d[^4]\d\d\d)*(44\d\d\d)?/g){
print ++$cnt,",PREMATCH=<$`>,MATCH=<$&>,POSTMATCH=<$'>\n";
}
}
__DATA__
44235
# without chomp that match 3 times
$ perl test.pl
1,PREMATCH=<>,MATCH=<44235>,POSTMATCH=<
>
2,PREMATCH=<44235>,MATCH=<>,POSTMATCH=<
>
3,PREMATCH=<44235
>,MATCH=<>,POSTMATCH=<>
# with chomp that match 2 times
$ perl test.pl
1,PREMATCH=<>,MATCH=<44235>,POSTMATCH=<>
2,PREMATCH=<44235>,MATCH=<>,POSTMATCH=<>
|
|