在Javascript RegEx中匹配第一个管道字符后的所有内容

时间:2014-07-23 14:51:55

标签: javascript regex

我有这个字符串:

"http://www.yahoo.com/abc/123|X|Y|Z"

我需要在第一个管道之后使用正则表达式获取所有内容。所以我希望留下这个字符串:

"X|Y|Z"

我如何在JavaScript中执行此操作?

5 个答案:

答案 0 :(得分:1)

使用更简单的正则表达式 / \ |(。*)/

var str = "http://www.yahoo.com/abc/123|X|Y|Z";
var aryMatches = str.match(/\|(.*)/);
// aryMatches[1] will have your results

regex explaination

答案 1 :(得分:0)

第一组包含预期的字符

^.*?\|(.*)$

DEMO

答案 2 :(得分:0)

您可以使用此正则表达式:

/^[^|]*\|(.*)/

并使用匹配的组#1进行比赛。

答案 3 :(得分:0)

将我的评论转换为答案:

令人震惊的是,正则表达式并非一切的答案。

xkcd
> xkcd

试试这个:

str.split("|").slice(1).join("|");

这会将你的字符串拆分为管道字符,切掉第一个项目,然后再用管道连接其余部分。

答案 4 :(得分:0)

忘记拆分和拼接,只需使用子串

var str = "http://www.yahoo.com/abc/123|X|Y|Z";
str.substr(str.indexOf("|") + 1);