如何匹配一个非关键词列表 比如我现在有一个关键字列表: if|else 另有一个字符串a
我如何用正则表达式判断a既不是’if’, 也不是’else’的时候,能够获得a的值
试了下 /(?!if|else)/, 无法得到a的值
这种情况为撒要用正则。把关键字放到{}里面,然后判断key是否存在不就好了吗。 比如 var keyMap = {if : true, else : true},a = “xxxxx”; var ressult = keyMap[a]?"" : a;
> s = 'laksjdf' 'laksjdf' > s.match(/(?!if|else)/) [ '', index: 0, input: 'laksjdf' ] > s.match(/(?!if|else)/).input 'laksjdf'
取出里面 input 属性不就好了吗?
@wuliao49 其实是想做这样的一个匹配的 :
var e = /<(.+?)>.*?</\1>/ ;
但是分组的值(.+?)又不能是if else这样的关键字,当前有个方案就是先分组,然后再判断分组出来的值是不是在keyMap里面,
想知道能不能全部写在一个正则表达式里面
@alsotang
之前不晓得有input这个属性,我再chrome 的console里面,直接返回就是一个[""]了。 不晓得这样的一个匹配用正则表达式怎么做:
分组的值(.+?)不能是if else这样的关键字,这个用正则表达式怎么写呢 ?
@xinyuanyu http://fxck.it/post/50558232873 看看零宽断言吧
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
这种情况为撒要用正则。把关键字放到{}里面,然后判断key是否存在不就好了吗。 比如 var keyMap = {if : true, else : true},a = “xxxxx”; var ressult = keyMap[a]?"" : a;
取出里面 input 属性不就好了吗?
@wuliao49 其实是想做这样的一个匹配的 :
但是分组的值(.+?)又不能是if else这样的关键字,当前有个方案就是先分组,然后再判断分组出来的值是不是在keyMap里面,
想知道能不能全部写在一个正则表达式里面
@alsotang
之前不晓得有input这个属性,我再chrome 的console里面,直接返回就是一个[""]了。 不晓得这样的一个匹配用正则表达式怎么做:
分组的值(.+?)不能是if else这样的关键字,这个用正则表达式怎么写呢 ?
@xinyuanyu http://fxck.it/post/50558232873 看看零宽断言吧