从字符串中提取哈希标记值

时间:2016-03-13 12:52:58

标签: jquery

我尝试使用jquery和正则表达式从字符串中提取哈希标记值。

blah blah #INeedThis blah blah

我试过这个: -

/^#?(.*)$/

哪个近乎有效。它提取了hash标记之后的所有内容,因此我得到了: -

#INeedThis blah blah

如何使regalr表达式只获取没有hashtag的哈希值,以便我最终得到: -

INeedThis 

字符串

中可能还有多个哈希标记值

3 个答案:

答案 0 :(得分:1)

试试正则表达式 (^|\s)([#][a-zA-Z\d-]+)

工作正则表达式示例:

https://regex101.com/r/kJ2qR3/2

答案 1 :(得分:1)

如何为字符串部分#捕获组使用非捕获组:

/(?:#)([A-Za-z]+)/g

在返回的数组中,索引1处的项目将为“INeedThis”

用法示例:

var myRe = /(?:#)([A-Za-z]+)/g;
var myArray = myRe.exec("blah blah #INeedThis blah blah");

var content = document.getElementById("content");
content.innerHTML = myArray[1];

<强> JSFiddle Demo

答案 2 :(得分:1)

/#(\S+)/g会匹配非空格标签后面的所有内容。

'blah blah #INeedThis blah blah'.match(/#(\S+)/g);

会产生["#INeedThis", "INeedThis"]