2014-09-27 34 views
0

我的正則表達式有以下問題。正則表達式需要包含加號

我想搜索兩個字符串之間的字符串。

datas就是這樣:

var datas = "a='00-8'b='13-'a+='00-2'b+='3333'c='4'"; 

我嘗試:

datas.match("a\+='(.*?)'"); 

我不能讓正則表達式由於+標誌工作。

任何幫助嗎?

回答

3

你傳遞一個字符串match,而不是一個正則表達式,也許你想

datas.match(/a\+='(.*?)'/); 

或者,你需要逃避你反斜線爲字符串因此它可以跳過+作爲正則表達式,即

datas.match("a\\+='(.*?)'"); 
1

用正斜槓將正則表達式括起來。

datas.match(/a\+='(.*?)'/g); 

OR

轉義反斜線一個更多的時間,如果是雙引號括起來。

> datas.match("a\\+='(.*?)'"); 
[ 'a+=\'00-2\'', 
    '00-2', 
    index: 15, 
    input: 'a=\'00-8\'b=\'13-\'a+=\'00-2\'b+=\'3333\'c=\'4\'' ] 
> datas.match("a\\+='(.*?)'")[1]; 
'00-2'