正则:个人运用和踩坑网络

详细运用场景
1 以恣意长度支解字符创

var arr = str.split(/\s+/)

2 将三列的表格数据转换成响应的表格html字符串
(条件将表格字符串经由过程word转成‘xx xxx xx;xxx xx xx;xx xx xx;’的花样)

var arr = str.split(";");
var text = "";
for (var x in arr) {
  var arr2 = arr[x].split(/\s+/);
  var str2 =
    "<tr><td>" +
    arr2[0] +
    "<td><td>" +
    arr2[1] +
    "<td><td>" +
    arr2[2] +
    "<td><tr>";
  text += str2;
}

表格例子:

《正则:个人运用和踩坑网络》

3 金额

 reg = /^([1-9]\d*)(\.\d*)?$/;

4 制止输入emoji脸色

 let reg = /[^\u0020-\u007E\u00A0-\u00BE\u2E80-\uA4CF\uF900-\uFAFF\uFE30-\uFE4F\uFF00-\uFFEF\u0080-\u009F\u2000-\u201f\u2026\u2022\u20ac\r\n]/g;
            if (text.match(reg)) {
                text = text.replace(reg, '');
            }

5 身份证号码

/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;

6 婚配2-6个中文

/^[\u4E00-\u9FA5]{2,6}$/;

7 不以某个字符串开首的示意(比方 不以typedef 开首)

/^(?!typedef)/ 

8 用这个婚配当前文件的一切打的console.log 然后一次性删除

[\s\S]*?console.log[\s\S]*?;

运用技能

1 exec和match的区分

  • exec每次实行的最先婚配的index都邑转变,match每次都是0
  • exec 是正则表达式的要领,match是字符串的要领

2 match 某个str的时刻返回值内里带有婚配到的分组,然则假如reg是全局形式,那末就不会返回婚配到的分组。
3 . 和.?的区分 一个是贪欲和非贪欲婚配的题目
须要相识二者的区分能够看

https://segmentfault.com/a/11…

延续更新 TBC…
迎接补充 迎接发起 迎接改正

    原文作者:34678
    原文地址: https://segmentfault.com/a/1190000018386352
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞