当前位置: 首页 > article >正文

js基础(黑马程序员)

Web APIs(day6)

一、正则表达式

1.介绍

正则表达式(Regular Expression):是用于匹配字符串中字符组合的模式。在 JavaScript中,正则表达式也是对象

通常用来查找、替换那些符合正则表达式的文本,许多语言都支持正则表达式。

2.语法

1. 定义正则表达式

语法:

          const reg = /表达式/

2.判断是否有符合规则的字符串:

           reg.test(被检测的字符串)

3.检索(查找)符合规则的字符串:

          reg.exec(被检测的字符串)

例:

3.元字符

普通字符:大多数的字符仅能够描述它们本身,这些字符称作普通字符,例如所有的字母和数字。也就是说普通字符只能够匹配字符串中与它们相同的字符。

元字符(特殊字符):是一些具有特殊含义的字符,可以极大提高了灵活性和强大的匹配功能。

   1.比如,规定用户只能输入英文26个英文字母,普通字符的话 abcdefghijklm…..
   2.但是换成元字符写法:[a-z]

1.边界符

正则表达式中的边界符(位置符)用来提示字符所处的位置,主要有两个字符

边界符    说明
^    表示匹配行首的文本(以谁开始)
$   表示匹配行尾的文本(以谁结束)

如果 ^ 和 $ 在一起,表示必须是精确匹配

2. 量词

量词用来 设定某个模式出现的次数

量词说明
*重复零次或更多次
+重复一次或更多次
?重复零次或一次
{n}重复n次
{n,}重复n次或更多次
{ {n,m}重复n到m次

注意:逗号左右两侧千万不要出现空格

3.字符类

  [ ] 匹配字符集合

 [ ] 里面加上 - 连字符使用连字符 - 表示一个范围

比如:[a-z] 表示 a 到 z 26个英文字母都可以

          [a-zA-Z] 表示大小写都可以

          [0-9] 表示 0~9 的数字都可以


[ ] 里面加上 ^ 取反符号

比如:[^a-z] 匹配除了小写字母以外的字符

          注意要写到中括号里面.

          匹配除换行符之外的任何单个字符

预定义:指的是某些常见模式的简写方式。

// 日期格式
^\d{4}-\d{1,2}-\d{1,2}
1.4 修饰符修饰符约束正则执行的某些细节行为,

预定类说明
\d匹配0-9之间的任一数字,相当于[0-9]
\D匹配所有0-9以外的字符,相当于[^0-9]
\w匹配任意的字母、数字和下划线,相当于[A-Za-z0-9_]
\W除所有字母、数字和下划线以外的字符,相当于[^A-Za-z0-9_]
\s匹配空格(包括换行符、制表符、空格符等),相等于[\t\r\n\v\f]
\S匹配非空格的字符,相当于[^\t\r\n\v\f]

4. 修饰符

修饰符约束正则执行的某些细节行为,如是否区分大小写、是否支持多行匹配等

语法:/表达式/修饰符

1.i 是单词 ignore 的缩写,正则匹配时字母不区分大小写

2.g 是单词 global 的缩写,匹配所有满足正则表达式的结果

replace 替换

语法:

例:

const str = 'java是一门编程语言,学完JAVA工资很高'
const re = str.replace(/java/i,'python’)
console.log(re)                // 'python是一门编程语言,学完JAVA工资很高'
const re = str.replace(/java/ig,'python’)
console.log(re)                // 'python是一门编程语言,学完python工资很高'

 


http://www.kler.cn/a/525149.html

相关文章:

  • mysql_init和mysql_real_connect的形象化认识
  • 在线课堂小程序设计与实现(LW+源码+讲解)
  • 2025美赛数学建模MCM/ICM选题建议与分析,思路+模型+代码
  • c#使用log4Net配置日志文件
  • 【Redis】List 类型的介绍和常用命令
  • 为AI聊天工具添加一个知识系统 之78 详细设计之19 正则表达式 之6
  • 【Redis】List 类型的介绍和常用命令
  • AI时代:行动者胜,被动者汰
  • Hive:日志,hql运行方式,Array,行列转换
  • UE学习日志#14 GAS--ASC源码简要分析10 GC相关
  • 设计模式的艺术-策略模式
  • concurrent.futures.Future对象详解:利用线程池与进程池实现异步操作
  • 蓝桥杯python语言基础(5)——函数
  • python-leetcode-从前序与中序遍历序列构造二叉树
  • 新年学习计算机名校课程
  • VPR概述、资源
  • 002-基于Halcon的图像几何变换
  • websocket webworker教程及应用
  • Acwing94递归实现排列型枚举
  • 通过配置代理解决跨域问题(Vue+SpringBoot项目为例)
  • 【C语言练习题】整数和实数在计算机中的二进制表示
  • C语言中的函数有哪些种类型
  • Your build is currently configured to use Java 21.0.3 and Gradle 6.6.1. 处理办法
  • go-zero学习笔记(一)
  • 《多线程基础之互斥锁》
  • Java基础知识-第14章-Java注解