正则表达式

1.创建正则:

        1.字面量形式

let reg = /^[a-z]{3}$/;

        2.构造函数形式

let length = 3;
let reg = new RegExp('^[a-z]{' + length + '}$');

区别:我暂时仅发现,字面量形式不支持插值,而构造函数支持

2.正则表达式的使用

        1.RegExp方法

                exec:返回一个数组(未匹配到则返回 null)

                        index:表示匹配结果在原始字符串中的起始位置、

                        input:表示被匹配的原始字符串

                         groups:如果正则表达式中使用了捕获组,匹配的结果字符串表示捕获组,由于我没使用所以为undefined。

let str = "SSFDS"
let length = str.length;
let reg = new RegExp('^[A-Z]{' + length + '}$');
console.log(reg.exec(str)); //[ 'SSFDS', index: 0, input: 'SSFDS', groups: undefined ]

                test:返回 true 或 false

let str = "SSFDS"
let length = str.length;
let reg = new RegExp('^[A-Z]{' + length + '}$');
console.log(reg.test(str));//true

        2.String方法

                match:返回一个数组(未匹配到则返回 null),各数据与exec类似

let str = "SSFDS"
let length = str.length;
let reg = new RegExp('^[A-Z]{' + length + '}$');
console.log(str.match(reg));//[ 'SSFDS', index: 0, input: 'SSFDS', groups: undefined ]

                search:返回匹配到的位置索引,在失败时返回 -1。

let str = "SSFDS";
let matches = str.search(/F/g);
console.log(matches); //2

                replace:使用替换后的字符串

let str = "SSFDS";
let matches = str.replace(/F/,"无");
console.log(matches);//SS无DS

 3.标记

       g:全局搜索。

        i:不区分大小写搜索。

        m:多行搜索.

        s:允许 . 匹配换行符

        u:使用 unicode 码的模式进行匹配

        y:执行“粘性 (sticky)”搜索,匹配从目标字符串的当前位置开始。

  4.限定符

        a* : a出现0次或多次

        a+ : a出现1次或多次

        a? : a出现0次或1次

5.元字符

        \d : 匹配数字字符

        \D :  匹配非数字字符

        \w : 匹配单词字符(字母,数字,下划线)

        \W : 匹配非单词字符

        \s : 匹配空白字符(换行符,空格符,\n,\r)

        \S : 匹配费空白字符      

        . : 匹配任意字符(出换行符)

        \b : 标注字符的边界

        ^ : 匹配行首

        $ : 匹配行尾

相关推荐

  1. 表达式

    2024-04-08 10:46:04       61 阅读
  2. 表达式

    2024-04-08 10:46:04       72 阅读
  3. 表达式

    2024-04-08 10:46:04       73 阅读
  4. 【Python】表达式

    2024-04-08 10:46:04       48 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-08 10:46:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-08 10:46:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-08 10:46:04       82 阅读
  4. Python语言-面向对象

    2024-04-08 10:46:04       91 阅读

热门阅读

  1. 基于Docker 快速搭建EFK日志中心

    2024-04-08 10:46:04       32 阅读
  2. 利用python抓取小说,爬虫抓取小说

    2024-04-08 10:46:04       30 阅读
  3. 关于APP分发,要取得更好效果需要注意的

    2024-04-08 10:46:04       33 阅读
  4. 深入浅出 -- 系统架构之负载均衡Nginx跨域配置

    2024-04-08 10:46:04       35 阅读
  5. 前后端接口写法(传输数据)

    2024-04-08 10:46:04       35 阅读
  6. Teamcenter 修改缓存文件夹名称及路径的方法

    2024-04-08 10:46:04       69 阅读
  7. css 手写返回箭头

    2024-04-08 10:46:04       35 阅读
  8. 【告警监控】监控,巡检和拨测

    2024-04-08 10:46:04       36 阅读
  9. Unity LayoutRebuilder 强制UI重新布局

    2024-04-08 10:46:04       32 阅读
  10. wpf viewmodel和界面双向通知

    2024-04-08 10:46:04       27 阅读
  11. tx-lcn使用

    2024-04-08 10:46:04       32 阅读
  12. WPF —— FromTo/By动画

    2024-04-08 10:46:04       32 阅读
  13. C#WPF控件Menu详解

    2024-04-08 10:46:04       30 阅读
  14. Springboot启动过程

    2024-04-08 10:46:04       34 阅读