Chinaunix
标题:
求助小白问题
[打印本页]
作者:
搬砖工作者
时间:
2011-11-26 16:59
标题:
求助小白问题
$_ = "fred xxxxxxx barney";
$_=~s/x*//;
为什么 匹配不到xxxx啊
*不是贪婪吗
为啥不会匹配到啊
作者:
trbing-pb
时间:
2011-11-26 17:12
$_ = "fred xxxxxxx barney";
$_=~s/x*//g;
print $_."\n";
作者:
Perlvim
时间:
2011-11-27 00:18
匹配是用 m// s///是替換。* 号匹配任意的值,+ 号才匹配前面重复的值
你想捕获匹配的值:
my $text = "fred xxxxxxx barney";
$text =~ m/(x+)/;
print $1;
作者:
yybmsrs
时间:
2011-11-28 10:05
s/ x*/ /;
作者:
afukada
时间:
2011-11-28 10:55
*的意義等同於{0,}
也就是說可以出現0次
所以樓主原來的代碼在一開始比對的時候就會比對到
原因是可以比對0次
可以嘗試這個表示式: $_=~s/x*/ /;
你會發現結果是: " fred xxxxxxx barney"
^這裡多了一個空白
也就是說他在一開始就比對成功
所以就結束了
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2