单正则表达式匹配两个单词

时间:2014-06-06 07:03:03

标签: regex

抱歉,我对使用正则表达式知之甚少。我被要求检查是否可以使用行正则表达式2整数作为单个输出进行检索,因此连接起来。

例如,从表达式:

sip:+17036380464;rn=+15712652210;spid=6214;mcc=310;mnc=150;npdi@enode.net

我必须检索值

310150

作为第一个输出

我能够用

分别检索这两个值
.*mcc=(([0-9]*);mnc=([0-9]*));.*

但我不知道如何将其完成一个输出

非常感谢

2 个答案:

答案 0 :(得分:2)

在perl:

$str = 'sip:+17036380464;rn=+15712652210;spid=6214;mcc=310;mnc=150;npdi@enode.net';
$str =~ s/^.*mcc=([0-9]*);mnc=([0-9]*).*$/$1$2/;

在php中:

$str = 'sip:+17036380464;rn=+15712652210;spid=6214;mcc=310;mnc=150;npdi@enode.net';
$str = preg_replace('/^.*mcc=([0-9]*);mnc=([0-9]*).*$/', "$1$2", $str);

在JavaScript中:

str = 'sip:+17036380464;rn=+15712652210;spid=6214;mcc=310;mnc=150;npdi@enode.net';
str.replace(/^.*mcc=([0-9]*);mnc=([0-9]*).*$/, "$1$2");

答案 1 :(得分:0)

.mcc=([0-9]*);mnc=([0-9]*);

然后$1是第一部分,$2是第二部分,你只需要将它们组合起来。