[新手请教]正则表达式的问题!!!



QUOTE:
原帖由 PerlLover 于 2008-1-23 13:57 发表
a="";

print $1 if $a =~ /\[(.+)\]/;

这样写是编译不过去的哈,郁闷,都没人理

这个没问题吧:
perl -e '$a = "[bbb]";print $1 if $a =~ /\[(.+)\]/'
bbb


QUOTE:
原帖由 PerlLover 于 2008-1-23 13:57 发表
a="";

print $1 if $a =~ /\[(.+)\]/;

这样写是编译不过去的哈,郁闷,都没人理

大哥厚道一点吧
my $a="[bbb]";
谢谢,我继续努力学习。NND就不信搞不定破儿
嘿嘿,原来这里人情味还是蛮浓的哦


QUOTE:
原帖由 PerlLover 于 2008-1-23 13:32 发表
如果说
a=[100]
那我想把100取出来的方法是什么呢.

my $result = $a=~ m/\[([^]]+)\]/;
print $result ."\n";
改为print "$1" if $a =~ /\[(.+)\]/;就行了,加个引号就可以了


QUOTE:
原帖由 PerlLover 于 2008-1-23 13:57 发表
a="";

print $1 if $a =~ /\[(.+)\]/;

这样写是编译不过去的哈,郁闷,都没人理

喝多了,标量怎么写啊,a少了$,应该是$a
$a =~ /\[([^\]]+)\]/

"print $1 if $a = ~/\[.+\]/;"

是不是等號與~之間多了一個空格?