12-JavaScript的正则表达式 DAY9 (04.20)

2023-11-18

1.正则表达式的定义

   正则表达式是由一个字符序列形成的搜索模式,用来匹配。
当在文本中搜索数据时,可以使用搜索模式来描述查询内容。
其可以是一个简单的字符,或者一个更复杂的模式。

2.正则表达式的创建

(1)字面量

	    var reg1=/abc/g;//g:全局  匹配一个字符串中是否含有abc		

(2)new关键字 构造函数

	    var rge2=new RegExp('表达式','修饰符');
		var rge2=new RegExp('abc','g');

3.正则表达式的方法

(1)constructor:对创建正则表达式对象的函数的应用

	  console.log(reg1.constructor);

(2)prototype 向对象添加属性和方法

	console.log(reg1.prototype);
            var str1='abcabcabc';

(3).exec()检索字符串中指定的值,返回找到的值并确定其位置

	  console.log(reg1.exec(str1));

(4)test()检索字符串中指定的值,返回true或false

	  console.log(reg1.test(str1));

(5)toString()返回正则表达式的字符串

	  console.log(reg1.toString());

4.正则表达式的修饰符

(1)i 忽略大小写

           var reg2=/aBc/i;
	console.log(reg2.test(reg1));

(2)g 全局匹配

	var str='abcabdabd'
	var reg3=/a/g;
	console.log(str.replace(reg3,'H'));

(3)m 多行匹配

	  var str1='abc \n dfwlcnwi';
	  var reg4=/c/gm;
	  console.log(str1.replace(reg4,'A'));

5.正则表达式的属性

(1)constructor 对创建正则表达式对象的函数的应用

     console.log(reg1.constructor);

(2) prototype 向对象添加属性和方法 原型

    console.log(RegExp.prototype);

(3) global 判断是否设置了 "g" 修饰符

(4)ignoreCase 判断是否设置了 "i" 修饰符

(5)multiline 判断是否设置了 "m" 修饰符

(6)source 返回正则表达式的匹配模式 表达式

console.log(reg1)
console.log(reg1.source)

(7) lastIndex 用于规定下次匹配的起始位置

var str="abcabcabc";
console.log(reg1.test(str));

6.正则表达式的模式之范围

(1) [字符族] 查找每个范围内的字符

var reg1=/acb/;
console.log(reg1.test("abcdefg"));//false
1` [abc] 查找[]之间的任何字符
var reg2=/[acb]/;
console.log(reg2.test("a"));//true
console.log(reg2.test("ab"));//true
console.log(reg2.test("abdhehekeku"));//true

2` [^abc] 查找任何不在[]之间的字符。  排除
var reg3=/[^acb]/;
console.log(reg3.test("a"));//false
console.log(reg3.test("acb"));//fasle
console.log(reg3.test("gghkyunguym,jkyuh"));//true

(2) [0-9] 查找任何从 0到9的数字

var reg4=/[0-9]/;
console.log(reg4.test("6"));//true

(3)[a-z] 查找任何从小写 a 到 小写 z的字符

(4)[A-Z] 查找任何从大写 A 到 大写 Z的字符

(5)[A-z] 查找任何从大写 A 到 小写 z的字符

(6) (red|green|blue) 查找指定的选项 或

7.正则表达式的模式之元字符

 查找单个字符,除了换行和行结束符以外的任意字符
    var reg1=/./;
    console.log(reg1.test("abcdefg"));//true

    console.log(reg1.test("\n"));//false

(1) \w	查找数字、字母及下划线。
(2)\W	查找非单词字符。
            var reg2=/\w/;
            var reg2=/\W/;
           console.log(reg2.test("hagag0393838_"));//true
            console.log(reg2.test("隔壁老王"));//false
(3) \d	查找数字。
(4) \D	查找非数字字符。
   
(5) \s	查找空白字符。
   
(6)  \S	查找非空白字符。
   
(7)  \b	匹配单词边界。
   
(8)  \B	匹配非单词边界。
   
(9)  \0	查找 NULL 字符。
   
(10)  \n	查找换行符。
(11)  \f	查找换页符。
   
(12)  \r	查找回车符。
   
(13)  \t	查找制表符。
   
(14)  \v	查找垂直制表符。
   
(15)  \xxx	查找以八进制数 xxx 规定的字符。
   
(16)  \xdd	查找以十六进制数 dd 规定的字符。
   
(17)  \uxxxx	查找以十六进制数 xxxx 规定的 Unicode 字符。

8.正则表达式的模式之量词

(1)n{X} 匹配包含 X 个 n(连续) 的序列的字符串

       var reg1=/a{2}/;
       console.log(reg1.test("a"));//true
       console.log(reg1.test("aa"));//true
       console.log(reg1.test("aba"));//fasle

(2)n{X,Y} X 和 Y 为正整数,前面的模式 n 连续出现至少 X 次,至多 Y 次时匹配

       var reg2=/a{1,3}/;
       console.log(reg2.test("a"));//true
console.log(reg2.test("aa"));//true
console.log(reg2.test("aaa"));//true
console.log(reg2.test("aaaa"));//false

(3)n{X,} X 是一个正整数。前面的模式 n 连续出现至少 X 次时匹配

(4)n+ 匹配任何包含至少一个 n 的字符串。 n{1,}

(5) n* 匹配任何包含零个或多个 n 的字符串。 n{0,}

(6) n? 匹配任何包含零个或一个 n 的字符串。 n{0,1}

9.正则表达式的模式之定位符

(1) n$ 匹配任何结尾为 n 的字符串

     var reg1 = /abc$/; //匹配以abc结尾的字符串
     console.log(reg1.test("abcabc"));

(2)^n 匹配任何开头为 n 的字符串

 var reg2 = /^abc/; //匹配以abc开头的字符串
  console.log(reg2.test("cabcabc"));

(3)?=n 匹配任何其后紧接指定字符串 n 的字符串。

(4)?!n 匹配任何其后没有紧接指定字符串 n 的字符串。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

12-JavaScript的正则表达式 DAY9 (04.20) 的相关文章

随机推荐

  • RESTful API介绍

    1 什么是RESTful API 一种流行的API设计风格 2 为什么使用RESTful架构 REST 是 Representational State Transfer 的缩写 如果一个架构符合 REST 原则 就称它为 RESTful
  • 服务器老是提示内存不足

    jps mlvV 查进程 jmap heap 进程ID 查看内存是多少 JAVA OPTS Xms1536m Xmx1536m XX PermSize 512m XX MaxPermSize 512m
  • 【python】numpy.percentile()函数

    numpy percentile 1 函数 百分位数是统计中使用的度量 表示小于这个值的观察值的百分比 函数numpy percentile 接受以下参数 np percentile a q axis None out None overw
  • android布局矩形只显示一条底线,android – 在布局的绝对中心显示一个矩形框

    您可以使用重量使用线性布局进行调整 我已经粘贴了一个示例代码 希望这会有所帮助 android layout width fill parent android layout height fill parent android orien
  • 【Linux】遍历文件夹

    include
  • 关于图像模式识别的几种分类方法概述

    1 基于概率统计的Bayes分类器 因为在实际分类中由于考虑的侧重点不同或者关心的点不一样导致不能使用同一决策去解决所有的事件的分类 所以需要根据不同的准测函数选择不同的分类决策 基于最小错误率的Bayes决策 基于最小风险的Bayes决策
  • mybatis 分页_Mybatis 分页查询方法

    Mybatis自带的两种分页方法 Mybatis有两种自带分页方法 RowBounds和PageHelper 其中前者是逻辑分页 后者是物理分页 本文后续假设使用myabtis generator生成mapper RowBounds Row
  • 二阶段无法解决的问题

    二阶段无法解决的问题 协调者再发出commit消息之后宕机 而唯一接收到这条消息的参与者同时也宕机了 那么即使协调者通过选举协议产生了新的协调者 这条事务的状态也是不确定的 没人知道事务是否被已经提交 与两阶段提交不同的是 三阶段提交有两个
  • python - 快速搜索指定格式文件的方法

    需求1 快速查找指定文件夹下 所有满足开头为NC 结尾为 nc的文件 root path Users xpji convert kuihua9data 20230621 from pathlib import Path def get fi
  • ES6中Null判断运算符(??)正确打开方式-

    读取对象属性的时候 如果某个属性的值是null或者undefined 有时候需要为它们指定默认值 常见的作法是通过 运算符指定默认值 const headerText response settings headerText Hello w
  • C语言:指针(进阶)

    目录 指针 指针概念 a 什么是地址 b 什么是指针 指针变量 a 指针变量是用来做什么的 b 指针变量的类型怎么理解 和 操作符 a 单目操作符 是什么 b 单目操作符 是什么 二级指针 a 二级指针是什么 指针类型的意义 a 为什么指针
  • iOS 报错:没有查看权限the file "xxx.app" couldn't be opened because you don't have permission to view it.

    iOS the file xxx app couldn t be opened because you don t have permission to view it 问题解决方法汇总 1 最近重构项目 增加target来区分环境进行差异
  • order by排序的用法

    一 order by 1 其实1表示第一个栏位 2表示第二栏位 依此类推 当表中只有2个栏位时 oder by 3就会出错 这个跟order by 列名没有什么区别 不过在特殊情况下还是很有用的 select owner table nam
  • windows vs2010 下使用glib库 mono4.3

    开发工具 vs2010 1 下载glib http ftp gnome org pub gnome binaries win32 glib 中有各个版本的glib列表 选一个感兴趣的 本文使用2 12 glib 2 12 11 zip gl
  • OKR与CFR管理模式(一)-什么是OKR?

    前言 无论任何管理书籍 都是围绕着人性 如何激发员工的人性中的自尊和自我价值观 自我成就感 作为一名领导者 在管理面前 必须要是冷静 安静的对待他人 好主意 再加上 卓越的执行 就一定可以创造奇迹 而这正是OKR 目标与关键结果 Objec
  • 常见面试问题 - 2(计算机网络)

    OSI七层模型 TCP IP四层模型 五层协议 OSI七层模型 应用层 表示层 会话层 传输层 网络层 数据链路层 物理层 TCP IP四层模型 应用层 传输层 网络层 网络接口层 五层体系结构 应用层 传输层 段 网络层 包 数据链路层
  • glint360k数据集的解压

    关于训练集的解压早就有人写了blog了 文章地址 https blog csdn net weixin 43408232 article details 109687884 但是对于它剩余的7个bin文件我很困惑 根据他们在官方的微博上声明
  • Verilog学习(3)initial,always,task,function,常见系统任务

    结构说明语句 Verilog中任何过程模块都属于以下四种结构的说明语句 initial说明语句 always 说明语句 task说明语句 function说明语句 一个程序模块可以有多个initial和always 过程块 每个initia
  • 常用的windows命令大全

    当我们熟练掌握windows命令时 可以通过输入命令来快速完成各种系统操作 非常的便捷 那么常用的windows命令有哪些呢 今天 小编就把命令介绍给大家 windows命令 1 gpedit msc 组策略 2 sndrec32 录音机
  • 12-JavaScript的正则表达式 DAY9 (04.20)

    1 正则表达式的定义 正则表达式是由一个字符序列形成的搜索模式 用来匹配 当在文本中搜索数据时 可以使用搜索模式来描述查询内容 其可以是一个简单的字符 或者一个更复杂的模式 2 正则表达式的创建 1 字面量 var reg1 abc g g