我在js中搜索一个正则表达式来匹配string doesn 't start with #(与此函数相反)
String.prototype.parseHashtag = function() {
return this.match(/[#]+[A-Za-z0-9-_]+/g);
}
t="#lorem #ipsum yes no";
console.log(t.parseHashtag()); // ["#lorem", "#ipsum"]
我找到了这个Regex: Finding strings that doesn't start with X
但是正则表达式不起作用/([^#]|^)[a-z]/或者我累了...我做了一个replace(),但我真的很想知道如何在match()中完成它!
下面是一个js:http://jsfiddle.net/d8HVU/1/
4条答案
按热度按时间hc8w905p1#
我尝试了这个,并在您的示例输入上为JavaScript工作得很好。我希望其他的投入也可以。好好测试一下。其他的答案在Javascript中不起作用。
whitzsjs2#
非
#
字符,后跟任意字符:查看它在http://refiddle.co/1rj上的工作情况
b4qexyjb3#
如果我试图匹配最后一个哈希标签和它后面的所有字符,我会使用这个正则表达式:
工作演示:http://jsfiddle.net/jfriend00/nE2bM/
如果你想做一些不同的事情,请明确你的要求。
ac1kyiln4#
您可以为此使用负向前看
看到它here on Regexr
这匹配每个不以“#”开头的字符串。
好的,我不确定,你想匹配字符串的开头还是不以“#”开头的“单词”?