我试图从标量变量中提取一些数据,这些标量变量是数据库值:
在这里复制我的代码
$data = "header1 header2 header3 header4 header5
-------------------------------------------------------
data1 1a 1b 1c 1d
data2 2a 2b 2c 2d
data3 3a 3b 3c 3d
(3 rows affected)";
if ($data =~ /header5\s+[\-|\s+]*(\w*)[^(]*/){
print $1;
print "inside if\n";
}
else {
print "else part\n";
}
在这里我要取出以下数据:
data1 1a 1b 1c 1d
data2 2a 2b 2c 2d
data3 3a 3b 3c 3d
为此,我使用了正则表达式。
但是在这里我可以看到$1
打印,data1
而不是最后的值。
我怎样才能拥有所有(3行数据)数据$1
?请帮助正则表达式。
的(\w*)
匹配0个或多个字字符,这是data1
在其中正则表达式发现此匹配的位置。直到此为止的其余文本(
都不会捕获到该组中。
采用
/header5\s[-\s]*([^(]*)/
观看在线演示
图案细节
header5
-文字字符串\s
-空格[-\s]*
-0个或多个连字符或空格([^(]*)
-第1组($1
内容):0或0个以上的字符(
。本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句