作者jacobcan118 (jacobcan118)
看板Perl
标题Re: [问题] 在array里取值
时间Wed Dec 11 13:19:02 2013
谢谢 不过请问一下,为什麽我用while 会print 不出东西 用 if 却可以
match m/里面的 g 是代表什麽?
for( @array_source)
{
if (m/*?\/var-(.*)\/.*\/(var.*)/)
{
print "$_\n";
print "$1\n";
}
print "aaaaaa\n";
while( m!/.*?/(.*?)/.*?/(.*?),!g ) {
print "$1\n$2\n";
}
output
----------------------------
/a/var-a00/b/var-b00
var-b00
/a/var-a00/b/var-b01
var-b01
/a/var-a01/b/var-b00
var-b00
/a/var-a01/b/var-b01
var-b01
/a/var-a02/b/var-b00
var-b00
/a/var....
....
aaaaaa
※ 引述《CindyLinz (Cindy Wang)》之铭言:
: ※ 引述《jacobcan118 (jacobcan118)》之铭言:
: : 请问各位我有一个array叫array_source 如下, 我有其他其他的办法可以取得 array_source里各个element里各个string里倒斜线里第二和第四得值.
: : 我是用两次split 在用chomp但有其他方法可以更简单吗. 谢谢
: : print Dumper(@array_source)."\n";
: : for (my $i; i < 10; i++)
: : {
: : @array_a = split (/,/, $array_source[$i]);
: : for (my $j = 0; $j < $#array_a; $j++)
: : {
: : @array_b = split (/\//, $array_a[$j]);
: : chomp($var_a = @array_b[2]);
: : print "$var_a\n";
: : chomp($var_b= @array_b[4]);
: : print "$var_b\n";
: : }
: : ----------------------
: : print out
: : $VAR1 = '/a/var-a00/b/var-b00,/a/var-a00/b/var-b01,/a/var-a01/b/var-b00,/a/var-a01/b/var-b01,/a/var-a02/b/var-b00,/a/var-a02/b/var-b01,/a/var-a03/b/var-b00,/a/var-a03/b/var-b01,';
: : $VAR2 = '/a2/var-a10/b2/var-b10,/a2/var-a10/b2/var-b01,/a2/var-a11/b2/var-b10,/a2/var-a11/b2/var-b11,/a2/var-a12/b2/var-b10,/a2/var-a12/b2/var-b11,/a2/var-a13/b2/var-b10,/a2/var-a13/b2/var-b11,'; ....
: : var-a00
: : var-b00
: : var-a00
: : var-b01
: : ....
: : ...
: : var-a13
: : var-b10
: : var-a13
: : var-b11
: 可以这样用, 然後那个是正斜线不是倒斜线 :p
: for(@array_source) {
: while( m!/.*?/(.*?)/.*?/(.*?),!g ) {
: print "$1\n$2\n";
: }
: }
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 71.183.242.84
1F:→ scwg:Cindy 的 RE 是给你用在一整行上的. 已经用 split 以逗点切开 12/11 14:17
2F:→ scwg:的话要把 regular expression 最後的逗点拿掉 12/11 14:17
3F:→ scwg:BTW, 你 if 用的 regular expression 改变意义了 12/11 14:18
4F:推 CindyLinz:g是..有两种用法, 建议查 perlre 里面的说明比较好 ^^| 12/11 17:31
5F:→ CindyLinz:嗯, 我给的程式是对你的原 po 中 $VAR1 $VAR2 那样的输 12/11 17:32
6F:→ CindyLinz:入操作的 12/11 17:32
7F:推 xatier:perldoc retut 不错,可以先看 12/11 20:04
8F:→ jacobcan118:感谢.. 12/15 14:54