js动态拼接正则表达式
在js中很多时候我们都需要使⽤正则 ⽐如
这⾥我利⽤正则查字符 a 后⾯跟着⼀个或多个空格的内容,我们便可以这么做
let str = "abcdefa aab bb"
let reg = /a\s.*/
console.(str))
但如果我们把条件改了,我们要查字符b后⾯跟着⼀个或多个空格的内容,那我们不可能去再重新写⼀个正则,如果正则逻辑很复杂的话我们不可能每次都去重写⼀个新的正则,这样很⿇烦
这时我们便可以动态的去拼接正则,再js中不能直接使⽤常规的字符串拼接⽅式来拼接,它必须使⽤eval来进⾏拼接
let str = "abcdefa aab bb"
let target = "b";
let reg2 = eval('/'+target+'\\s.*/')
console.(str))
js中文正则表达式这样我们就可以根据⾃⼰条件来改,如果要匹配a就把target赋值a,匹配b就赋值为b,这样就不需要再去重写正则了,
需要注意的是,⽤eval拼接字符时,对于 “\” 符号需要多加⼀个转义符,例如上⾯的 “\s” 需要改成 “\\s”,多加⼀个 “\” 字符
以上只是本⼈常⽤的⽅法 仅供参考 如有更好的办法也可⾃⼰使⽤
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论