正则表达式梳理

文章目录


正则表达式

正则表达式是一种用来描述字符串规则的表达式。 用于判断字符串是否符合该规则

在js中这样使用

javascript 复制代码
const reg = /abc/;
reg.test('字符串')
//用于判断字符串是否符合定义的reg规则

以下总结js中一些常用的规则

元字符

  1. [abc]匹配 a 或 b 或 c
  2. 当需要的元素够多时,可以使用区间简写区间[a-z0-9]

修饰符

加在末尾的修饰符

  1. g全局匹配
javascript 复制代码
const str = "cat bat fat";

// 1. 没有全局标志 g
const reg1 = /at/;
console.log(str.match(reg1)); 
// 结果:["at"]  (只找到第一个就停止)

// 2. 有全局标志 g
const reg2 = /at/g;
console.log(str.match(reg2)); 
// 结果:["at", "at", "at"]  找到所有

利用其进行替换

javascript 复制代码
// 替换
    const willre ='我777515474我'
    const aim =willre.replace(/我/i,'你')
    const aim1 =willre.replace(/我/g,'你')
    console.log(aim);
    console.log(aim1);//全局替换
  1. i忽略大小写

量词

  1. {n} 恰好 n 次
  2. {n,} 至少 n 次
  3. {n,m} n 到 m 次

?等价于 {0,1}
*等价于{0,}
+等价于 {1,}

位置锚点

  1. ^ 字符串开始
  2. $ 字符串结尾

当规则为/^a$/此时则只有字符a匹配该规则

此外还有|选择表达式
/规则a|规则b/,满足其中任一即匹配

这是一些综合以上规则的判断

javascript 复制代码
 const reg2=/^哈/
    console.log(reg2.test('哈哈'))

    // $以..结尾
    const reg3=/哈$/
    console.log(reg3.test('哈哈'))
    //俩个都有是精确匹配 只有此一种为true
    const reg4=/^哈$/
    console.log(reg3.test('哈'))
    // 元字符量词
    // 重复次数
    console.log(/[a-zA-Z0-9]{4,10}/.test('asd'))

一些常用的正则表达式

  1. 手机号
    /^1[3-9]\d{9}$/
  2. 邮箱
    /^[\w\.-]+@[\w\.-]+\.\w+$/
  3. 汉字
    ^[\u4e00-\u9fa5]{0,}$
  4. 邮箱
    ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
相关推荐
张彦峰ZYF6 小时前
Python 模式匹配与高效正则表达式:从语言特性到工程级简单实践
python·正则表达式
小北方城市网12 小时前
第2课:零基础前端框架实操入门——从核心语法到第一个完整项目
javascript·ai·正则表达式·json·html5
铉铉这波能秀2 天前
正则表达式从入门到精通(字符串模式匹配)
java·数据库·python·sql·正则表达式·模式匹配·表格处理
利刃大大2 天前
【JavaSE】Stream API && Optiona类 && 正则表达式
正则表达式
Dxy12393102163 天前
Python的正则表达式如何做数据校验
开发语言·python·正则表达式
Tranquil_ovo3 天前
【RegExp】正则表达式 - 基础语法
正则表达式
課代表3 天前
正则表达式中的“*”为何不是通配符?
正则表达式·dos·bat·批处理·匹配·通配符·转义
[J] 一坚4 天前
Shell 脚本解锁 curl/iptables/Nginx 日志分析等实战用法
linux·服务器·正则表达式·系统架构·自动化
Dxy12393102164 天前
Python的正则表达式入门:从小白到能手
服务器·python·正则表达式
realhuizhu5 天前
是猫踩键盘还是乱码?不,这是你刚写的正则表达式
正则表达式·regex·代码质量·开发效率·ai编程助手