javascript regex match ^[^#]?

fzsnzjdm  于 2023-05-08  发布在  Java
关注(0)|答案(4)|浏览(125)

我在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/

hc8w905p

hc8w905p1#

我尝试了这个,并在您的示例输入上为JavaScript工作得很好。我希望其他的投入也可以。好好测试一下。其他的答案在Javascript中不起作用。

String.prototype.parseHashtag = function() {
    return this.match(/(\s|^)[^#][\w\d-_]+\b/g);
}

t="#lorem #ipsum yes no";
alert(t.parseHashtag());
whitzsjs

whitzsjs2#

#字符,后跟任意字符:

[^#].*

查看它在http://refiddle.co/1rj上的工作情况

b4qexyjb

b4qexyjb3#

如果我试图匹配最后一个哈希标签和它后面的所有字符,我会使用这个正则表达式:

/#[^#]*$/

工作演示:http://jsfiddle.net/jfriend00/nE2bM/
如果你想做一些不同的事情,请明确你的要求。

ac1kyiln

ac1kyiln4#

您可以为此使用负向前看

^(?!#).*

看到它here on Regexr
这匹配每个不以“#”开头的字符串。
好的,我不确定,你想匹配字符串的开头还是不以“#”开头的“单词”?

相关问题