正则表达式在JS中的运用

正则表达式不是单纯的js范畴,所以标题这样取比较好一点,正则表达式运用于检测字符串格式,他所表示的是一种字符串格式,根据他索引到字符串中相应位置进行想要的操作,前面主要是小编自身为了记忆做的比较繁琐的笔记,后面会结合常见案例来说。

一、定义与方法

转义字符 \ :

转义字符 \ 将后面所跟的内容转为文本

通过它可以实现多行文本

var str = "我是\
           多行文本"

定义:

1. var reg = / / ;      //其中的每一位我们可以默认它带有括号,当我们带括号写时就可以为这一位添加更多的条件了

2. var reg =new RegExp("正则表达式" , 索引模式) ;

有联系的一些方法:

正则表达式在JS中的运用

二、索引模式、元字符、量词

初始状态下正则匹配完全按照内容匹配而且次数为1次,实际上格式不可能什么都是字符串索引,对应格式就有对应代表规则

三种索引模式:

i:忽略大小写

g:全局索引

m:多行匹配   //当存在换行时正则必须加上m才能匹配多行

元字符:

大写是小写的非

我们以中括号代表条件

\w:[0-9||A-z]

\d:[0-9]

\s:空白字符都是要在字符串里面有的

\b:单词边界

$:以什么结尾

全局:\任意元字符\对应大写

量词:

  代表数量的词,每次匹配几个,
  贪婪匹配原则能多就多 0时一般匹配空  n+?非贪婪匹配
   n+   //{1,}
   n*   //{0,}

案例(注意我们在使用字符串相关方法时不是对他自身进行修改)

还有几个点这边也是可意会不可言传啊痛苦咱看几个案例:

1.-开头改为小驼峰

        // -开头形式 小驼峰
        var str = "get-element-by-tag-name";
        //getElementByTagName
        var reg = /-(\w)/g;  
        console.log(str.replace(reg , function($,$1){
            return $1.toUpperCase();
        }));

 replace方法第二个方法参数中本身$代表第几个括号包裹内容因为是从0开始,我们需要的是(\w)所以为$1

正则表达式在JS中的运用

这种方式也可以实现将两个名字换位,这是另一种格式,侧重于$的代表

2.字符串去重

        //字符串去重
        var reg = /(\w)\1*/g;
        var str = "bbaacc";
        console.log(str.replace(reg,"$1"));

这边主要是强调一下\1的用法,\1在正则中代表与上一位相同

3.将一串数字以英文格式输出(三位一.)

        var str = "100000000";
        var reg = /(?=(\B)(\d{3})+$)/g;
        console.log(str.replace(reg,"."));

?=为反向索引,这边正则表示以1~多个三个数字结尾的空。