1,=号的,是肯定匹配 报错:SyntaxError: Invalid regular expression: invalid group specifier name __ERROR 报错原因:目前ios不支持零宽断言,需要换种写法 需求:把$之间包裹的内容替换成红色 欢迎分享,转载请注明来源:内存溢出
2,< 号的 ,是写在前面的,取后面的值
3,!号的 ,是否定的,
4,不带<号的,是写在后面的,取前面的值,
一共4种:
(?=exp) 也叫零宽度正预测先行断言,例:\b\w+(?=ing\b),匹配以ing结尾的单词的前面部分
(?<=exp) 也叫零宽度正回顾后发断言,例:(?<=\bre)\w+\b会匹配以re开头的单词的后半部分
(?!exp) 也叫零宽度负预测先行断言,例:\d{3}(?!\d)匹配三位数字,而且这三位数字的后面不能是数字
(? 也叫零宽度负回顾后发断言来断言,例:(?
let regx = /(?<=$).*?(?=$)/g;
let str = '差值(B-A)(共修改$28$项$天才坊$)'
let regx = /\$(.*?)\$/g
let strArr = str.match(regx)
strArr.map((el) => {
let val = el.replace(/\$/g, '')
str = str.replace(el, `${val}`)
})
console.log(strArr, str, 7)
//strArr: ["$28$", "$天才坊$"]
//str: 差值(B-A)(共修改28项天才坊)
一、正则表达式零宽断言(?=、?<=、?!、?零宽断言是正则表达式中的一种方法,正则表达式在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。
赞
(0)
打赏
微信扫一扫
支付宝扫一扫
端开发技术—解密Flutter响应式布局
下一篇
2022-05-21
评论列表(0条)