RegEx - 获取特定字符后的所有字符(#)

时间:2013-11-04 18:28:12

标签: javascript regex

使用下面的字符串,如何编写正则表达式以删除或单独保存#符号后面显示的字符。

var category = "http://schemas.google.com/g/2005#work"

3 个答案:

答案 0 :(得分:2)

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

var category = "http://schemas.google.com/g/2005#work";
var hashval = category.replace(/^[^#]*#([\s\S]*)$/, '$1');
//=> work

或者更好地使用String#match:

var hashval = category.match(/#([\s\S]*)$/)[1];
//=> work

答案 1 :(得分:0)

好的方法是让浏览器完成繁重的工作。

var category = "http://schemas.google.com/g/2005#work",
    link = document.createElement('a'),
    hash;

link.href = category;

hash = link.hash;

这会让您的浏览器创建一个a元素,并将该元素的href属性设置为category。然后浏览器解析URL。链接的hash属性位于URL中的#之后。

前段时间我回答了a similar question,并提供了更为完整的代码版本。

答案 2 :(得分:0)

我认为另一种方式是使用捕获组

\#(.*)

通过这种方式,可以创建其他不同的组来捕获不同的元素。

希望这有助于= D