正则表达式与JavaScript

正则表达式(RegularExpression):用于匹配规律规则的表达式,正则表达式最初是科学家对人类神经系统的工作原理的早期研究,现在在编程语言中有广泛的应用。

在使用正则表达式的时候,首先要知道正则表达式,并不知道javaScript中的产物,而是独立的学科。当然不止JavaScript中有他的身影,Java,C#,PHP,C++,VB,Python等等太多了就不一一列举了。

正则表达式的作用:

        1.给定的字符串是否符合正则表达式的过滤逻辑(匹配);

        2.可以通过正则表达式,从字符串中获取我们想要的特定部分(提取)   

        3.强大的字符串替换能力(替换)  

正则表达式的组成:

       1.普通字符

        2.特殊字符(元字符):正则表达式中有特殊意义的字符 

    常用元字符:

        \d   匹配数字     \D 匹配任意非数字字符

        \w  匹配数字,字母,下划线    \W  匹配任意不是数字,字母,下划线

           \s 匹配任意的空白符(空格,换行)  \S 匹配任意不是空白字符的字符

            . 匹配出换行以外任意单个字符

            ^ 以谁开头 $ 以谁结尾

       限定符: 

         * 重复零次或者更多次

           + 重复一次或更多次

           ? 重复零次或者一次

           {n} 重复n次 {n,} 重复n次或者更多 {n,m} 重复n到m次

           [] 字符串用中括号括起来,表示匹配其中的任一字符,相当于或的意思

            [^]  匹配除中括号以内的内容

            \ 转义符

            | 或者,选择两者中的一个。注意|将左右两边分为两部分,而不管左右两边有多长多乱 例: gr(a|e)y匹配gray和grey

            () 从两个直接量中选择一个,分组

            [\u4e00-\u9fa5]  匹配汉字

            [^]  匹配除中括号以内的内容

            \ 转义符

            | 或者,选择两者中的一个。注意|将左右两边分为两部分,而不管左右两边有多长多乱

            () 从两个直接量中选择一个,分组

            eg:gr(a|e)y匹配gray和grey

            [\u4e00-\u9fa5]  匹配汉字

            [^]  匹配除中括号以内的内容

            \ 转义符

            | 或者,选择两者中的一个。注意|将左右两边分为两部分,而不管左右两边有多长多乱

            () 从两个直接量中选择一个,分组

            eg:gr(a|e)y匹配gray和grey

            [\u4e00-\u9fa5]  匹配汉字


 JavaScript中使用正则表达式

    有两个参数 i:忽略大小写 g: 全局范围查找

    正则对象的方法:
    test(字符串); 是否可以匹配
    exec(字符串); 获取匹配的内容

  方法 一:

 let reg = new RegExp('正则','参数')   
 let str =  'asdasdafrqwc' ;
 console.log(reg.test(str))

   方法 二:

let reg = /ab[a-z]/i;  // 参数直接跟在 / 后面
let str = 'aBd';
console.log(reg.test(str))
     跟正则表达式相关的方法
         1 RegExp对象
           
  test()   匹配

             exec()   提取 提取一个内容

let str = '张三:2500,李四:3000,王五:50000';
let reg = /\d+/g;
// exec() 只返回一个匹配到的结果    如果没有匹配的内容返回null
let content = reg.exec(str);
console.log(content);

        可以写一个循环提取所有匹配的内容

 do {
        var content = reg.exec(str);
        if (content) {
        console.log(content[0]);
        }
    } while(content);
        2 String对象
           
  match()  提取 可以提取多个内容
             replace()   替换
             split()     切割
             search()

猜你喜欢

转载自blog.csdn.net/zero________________/article/details/80266404