正则表达式的匹配字符特定格式
⼀个字符串,如果含有\字符,那么其后⾯必须跟两个数字,\字符的数量不确定,也可以没有\字符,你要怎么写正则表达式?
/\\\d{2}/g 如果不是很擅长正则,你可能写出来的是这个,但是这个正则只能匹配第⼀份\,后⾯的就不会匹配了
⼀般正则都是这样,如果出现⼀个符合规则的,那么test就是对的,如果你想凡是出现的都得符合,就得使⽤前瞻了
正则的前瞻,分为正向前瞻和负向前瞻。
正向前瞻⽤来检查接下来的出现的是不是某个特定的字符集。⽽负向前瞻则是检查接下来的不应该出现的特定字符串集。
看来正向前瞻符合要求,正向前瞻是?=
/\\(?=\d{2})/g 测试发现,还是只匹配第⼀个
试试负向前瞻,负向前瞻是?!
字符串截取拼接不固定
/\\(?!\d{2})/g 因为判断的\字符后⾯没有跟两个数字,所以需要对test结果取反
测试是通过的,负向前瞻会对整个字符串出现的\都进⾏匹配。
总结:
如果要对字符串不固定次数的特定字符匹配,需要⽤负向前瞻,最后还需要对结果取反,我觉的正则表达式是专门对字符解析的,对于这种情况不能⼀步到位,最后还需要对结果取反,是不应该的,是否应该加⼀个模式,可以设置让正则可以正向匹配每⼀个出现的格式,⽽不是只匹配第⼀个。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论