正则表达式梳理

文章目录


正则表达式

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

在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+)*$
相关推荐
OPEN-F1 天前
Python进阶教程:正则表达式进阶与文本处理
开发语言·python·正则表达式
小小龙学IT4 天前
C++ 正则表达式完全指南:从 std::regex 实战到 RE2 引擎原理(NFA/DFA/回溯陷阱)
c++·正则表达式
傻啦嘿哟4 天前
猫眼电影TOP100爬虫:Requests+正则表达式实战
爬虫·正则表达式
circuitsosk4 天前
AI输出的“质检员”:构建智能体质量评估、异常检测与人工兜底的三层防线
人工智能·python·microsoft·正则表达式·langchain
Livia要学习4 天前
Python正则表达式
正则表达式
wangchen_06 天前
C++正则表达式
开发语言·c++·正则表达式
Patrick在香港7 天前
Python正则表达式实战:解析和验证香港身份证、车牌、电话格式
开发语言·python·正则表达式
吴声子夜歌9 天前
正则指引——Ruby
开发语言·正则表达式·ruby
吴声子夜歌9 天前
正则指引——Golang
开发语言·golang·正则表达式
吴声子夜歌10 天前
正则指引——PHP
开发语言·正则表达式·php