正则表达式梳理

文章目录


正则表达式

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

在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+)*$
相关推荐
Frag0ut2 天前
Notepad++ 正则表达式完全手册:文本处理的终极武器(2026实战版)
正则表达式·notepad++·数据清洗·日志分析·正则替换·提取ip·正则表达式实战
Patrick在香港4 天前
一个斜杠,把毫秒变成十几秒
android·数据库·python·性能优化·正则表达式·回溯·redos
echome8885 天前
Python 正则表达式:5 个日常够用的模式
python·正则表达式
yivifu6 天前
能够使用Python正则表达式函数的文本处理工具——Calibre电子书编辑器
正则表达式
全栈陈序员7 天前
【Python】基础语法入门(二十九)—— 正则表达式实战:文本处理利器
开发语言·人工智能·python·正则表达式
BruceXu12 天前
\b 在中文里会静默失效:三个正则坑和一份能用的字符边界方案
正则表达式
阿昭L14 天前
正则表达式
正则表达式·编译原理
波力海苔夹心脆67514 天前
C# 正则表达式零基础入门:从“看得懂“到“会用“
经验分享·后端·mysql·正则表达式·c#
FRing0315 天前
JavaScript入门到精通二十四(正则表达式、元字符、修饰符)
开发语言·前端·javascript·正则表达式
小白快快跑哦17 天前
python-字符串全解(六):正则表达式-元字符与转义
python·正则表达式·字符串·元字符·转义