正则表达式获取包含起始字符的字符串

时间:2013-08-03 11:39:24

标签: javascript regex

我有一个像这样的字符串

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

我试图通过其前面的管道符号获取任何一个单词,如

|Text|Facebook|Twitter

我想到了两种模式,但它们没有工作

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

我应该使用什么来获取|Facebook

2 个答案:

答案 0 :(得分:3)

管道是正则表达式中的特殊字符。 A|B匹配A B

你必须逃避管道以确切地匹配|

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

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

答案 1 :(得分:1)

你应该逃脱| char:

/\|Facebook/g