2016-08-04 35 views
0

我尝试基于正则表达式来选择一个字符串,我用Node.js的,这里是我的代码:的Javascript正则表达式返回null,Node.js的

var string = ' [email protected] Tel: +971000000000 0500000348'; 
var regExp = '\\(\\+971\\|00971\\|05\\)\\d\\{1,12\\}'; 
var find = string.match(regExp)[0]; 
console.log(find); 

,我需要选择只与+971开头号码,00971,05,则返回null,(我如果我不逃两次堂妹它抛出一个错误) 这个表达式正常工作:'\\+971\\d{1,12}';

回答

1

我不知道具体的Node.js,很抱歉,如果我的回答将是愚蠢的,但怎么样:

var string = ' [email protected] Tel: +971000000000 0500000348'; 
var regExp = /(\+971|00971|05)\d{1,12}/g; 
var find = string.match(regExp); 
return find; 

enter image description here

0
(\+971|00971|05)(\d{1,12}) 

获取组2,你应该得到你想要的东西。我不知道你为什么还需要逃跑。它在为我工作而不会逃脱。