删除基于正则表达式的msisdn元素

时间:2019-05-15 11:34:28

标签: regex perl

我正在尝试从TAP3.11上的MO调用中删除one.two#three字段,但是它不能满足需要。

我想设置一个条件,如果Msisdn不是以962开头,则删除该元素。

我的背景仅适用于python,这是首次使用perl。我之所以使用它,是因为经过搜索后,我相信只有perl才能处理TAP文件。

msisdn

1 个答案:

答案 0 :(得分:1)

尝试:

...
if ($key->{$_}->{'basicCallInformation'}->{'chargeableSubscriber'}->{'simChargeableSubscriber'}->{'msisdn'} =~ /^(?!962)/)
{
    delete $key->{$_}->{'basicCallInformation'}->{'chargeableSubscriber'}->{'simChargeableSubscriber'}->{'msisdn'};
}

更改:

要删除密钥,请使用 delete

对于“不以”开头的正则表达式,请使用:^(?!WHATEVER),例如^(?!962)