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.该怎样写?
展开
 我来答
willshdanvis
推荐于2017-09-07 · TA获得超过1018个赞
知道大有可为答主
回答量:2042
采纳率:100%
帮助的人:1349万
展开全部
$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;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友d580670
2012-05-06 · TA获得超过1983个赞
知道大有可为答主
回答量:2054
采纳率:82%
帮助的人:685万
展开全部
$1每次匹配都会被改写的,
你的写法有问题吧
$bbb=~/(\d+),\d+,\d+/; #
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式