perl 正则匹配中使用$1捕获变量的问题.
使用了三次正则,每次需要用()捕获正则中的内容,但是$1中会记录上次捕获的数据.该怎样清理上次捕获的东西,每次的$1只是要这次捕获的内容呢?比如$aaa="1234,56...
使用了三次正则,每次需要用()捕获正则中的内容,但是$1中会记录上次捕获的数据.该怎样清理上次捕获的东西,每次的$1只是要这次捕获的内容呢?
比如
$aaa="1234,5677,3333";
$aaa~/\d+,(\d+),\d+/; #现在$1中就是5677
$bbb="2223,4241,45452";
$bbb~/(\d+),\d+,\d+/; #现在$1中是56772223
我在第二次匹配,只想$1中为2223.该怎样写? 展开
比如
$aaa="1234,5677,3333";
$aaa~/\d+,(\d+),\d+/; #现在$1中就是5677
$bbb="2223,4241,45452";
$bbb~/(\d+),\d+,\d+/; #现在$1中是56772223
我在第二次匹配,只想$1中为2223.该怎样写? 展开
2个回答
展开全部
$aaa="1234,5677,3333";
$aaa=~/\d+,(\d+),\d+/; #现在$1中就是5677
print $1."\n";
$bbb="2223,4241,45452";
$bbb=~/(\d+),\d+,\d+/; #现在$1中是2223
print $1;
$aaa=~/\d+,(\d+),\d+/; #现在$1中就是5677
print $1."\n";
$bbb="2223,4241,45452";
$bbb=~/(\d+),\d+,\d+/; #现在$1中是2223
print $1;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询