Javascript 在字符串对象中查找匹配模式
我有带值的字符串,我想识别模式 一串Javascript 在字符串对象中查找匹配模式,javascript,jquery,regex,Javascript,Jquery,Regex,我有带值的字符串,我想识别模式 一串 value:function() like name:function() or click:function() 我想忽略空格和值不能以下划线和 我有一些我想忽略的单词数组,比如user,address i、 e如果我有以下几点 name:function() click:function() _press:function() user: function() 最后的数组只有[名称,单击] 我试着按照阿维纳什的建议去做,但它并不适用于所有的
value:function()
like name:function()
or
click:function()
我想忽略空格和值不能以下划线和
我有一些我想忽略的单词数组,比如user,address
i、 e如果我有以下几点
name:function()
click:function()
_press:function()
user: function()
最后的数组只有[名称,单击]
我试着按照阿维纳什的建议去做,但它并不适用于所有的条件,
有什么想法吗
str.match(/\w+(?=\s*:\s*function)/g)
看起来你想要这样的东西
\b(?!address|user|_)\w+(?=\s*:\s*function)
这个怎么样?在什么情况下Avanash的解决方案不起作用?它似乎符合您列出的所有要求。@BrentStewart他不想匹配以
\u
开头的名称,也不想匹配名称用户
和地址
谢谢,但当我在match match上尝试时。(\b(?!address | user |)\w+(?=\s*:\s*函数)我得到了错误意外标记非法,知道吗?非常感谢,顺便问一下,结尾的g是什么?g
=全局标志。这有助于进行全局匹配。否则,该匹配将无法进行下一个匹配。只需尝试不带g
标志的正则表达式,您就会看到差异。
> s = 'name:function()\n\nclick:function()\n\n_press : function()\n\nuser: function'
> s.match(/\b(?!address|user|_)\w+(?=\s*:\s*function)/g)
[ 'name', 'click' ]