在字符串对象中查找匹配模式
我有值的字符串,我想识别字符串中的模式
value:function() like name:function() or click:function()
我想忽略空间和值不能以下划线开头,另外
我有一些我想忽略的单词数组,如用户,地址
即如果我有以下内容
name:function() click:function() _press:function() user: function()
最后的数组只有[name,click]
我尝试按照Avinash的建议,但它不适用于所有条件,任何想法?
str.match(/\w+(?=\s*:\s*function)/g)
看起来你想要这样的东西,
\b(?!address|user|_)\w+(?=\s*:\s*function)
DEMO
> 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' ]