2013-08-03 42 views
1

我有這樣正則表達式來獲取字符串包括起始字符

var str="|Text|Facebook|Twitter|"; 

我試圖得到了這個詞的任何一個與它前面的管道符號,使串像

|Text|Facebook|Twitter

我想到了以下兩種模式,但他們沒有工作

/|Facebook/g //returned nothing 
/^|Facebook/g // returned "Facebook" but I want "|Facebook" 

我應該用什麼來獲得|Facebook

回答

1

你應該逃避|字符:

/\|Facebook/g 
+0

謝謝!這麼簡單和容易:) –

3

管是在正則表達式特殊字符。 A|B匹配AB

字面上你必須逃離管道匹配|

var str = '|Text|Facebook|Twitter|' 
str.match(/\|\w+/g) // => ["|Text", "|Facebook", "|Twitter"] 

\w匹配任何字母,數字,_

+0

謝謝,+1的詳細描述! –

+0

'|'是* pipe *,不是反斜槓。 –

+0

@TimPietzcker,我解決了這個問題。謝謝。 – falsetru