用于从电话号码中提取业务扩展名的正则表达式

Pat*_*ick 0 php regex phone-number

我正试着写一个正则表达式,从一个完整的电话号码字符串中提取电话分机.这应该适用于这样的数字:777.777.7777 x 7302

它也应该使用"ext","EXT","Ext","eXt","ext."和"Ext".基本上只是涵盖了它的所有常见用途.

我只需要"x 7302"部分.事实上,一旦我提取它,我只是将它剥离到扩展号码.

有人可以帮我吗?当正则表达式变得更复杂时,我会挣扎.

我在PHP函数(preg_match)中这样做,如果这将有助于任何人.

hak*_*kre 5

这可能有助于你玩一些东西:

$phonenumber = '777.777.7777 x 7302';

$extension = preg_replace('(^.*(ext|x) ?([0-9]+)$)i', '$2', $phonenumber);

echo $extension;
Run Code Online (Sandbox Code Playgroud)

使用i修饰符(在结尾处)使正则表达式不区分大小写,以匹配所有组合ext.我用一组来提供两种变体:extx:(ext|x).

其余的是在最后寻找一个数字,EXT和数字之间可以有空格.