正则表达式(Regex)通用相关知识点

一、基础元字符

符号 作用 示例
. 任意单个字符(除换行) a.b → acb、a1b
^ 行首 ^abc → 以 abc 开头
$ 行尾 abc$ → 以 abc 结尾
\d 数字 \d{2} → 12、99
\w 字母/数字/下划线 \w+ → abc123_
\s 空白 a\sb → a b
\D \W \S 对应取反
[abc] 匹配 a/b/c
[^a] 不匹配 a

二、量词(次数控制)

量词 含义
? 0 或 1 次
+ ≥1 次
* 0 或多次
{n} 正好 n 次
{n,} ≥n 次
{n,m} n~m 次

贪婪 / 非贪婪

  • 默认贪婪(尽量多匹配)
  • 加 ? → 非贪婪(尽量少匹配)
    /<.*?>/g

三、分组与引用

  • () 分组捕获
  • (?:) 非捕获分组
  • | 或
  • \1 反向引用

示例:

(\d)\1 → 匹配 11、22、99

四、零宽断言(定位)

  • (?=a) 后面是 a
  • (?!a) 后面不是 a
  • (?<=a) 前面是 a
  • (?<!a) 前面不是 a

示例:

(?<=price:)\d+ → 提取 price: 后的数字

五、修饰符

  • i 忽略大小写
  • g 全局匹配
  • m 多行模式

🚩 重点:正则实际使用方法(以js为例子)

1. test() ------ 判断是否匹配(返回 true/false)

用于表单验证、格式检查

js 复制代码
let reg = /^\d+$/
reg.test("123")   // true
reg.test("abc")   // false

2. match() ------ 提取匹配结果(返回数组)

js 复制代码
let str = "a1b2c3"
str.match(/\d/g)   // ["1","2","3"]

3. replace() ------ 替换匹配内容

js 复制代码
let str = "hello 123"
str.replace(/\d/g, "#")   // "hello ###"

4. search() ------ 找位置(返回索引)

js 复制代码
"abc123".search(/\d/)   // 3

5. split() ------ 按正则分割字符串

js 复制代码
"a1b2c".split(/\d/)   // ["a","b","c"]

6. exec() ------ 高级匹配(循环抓取所有)

js 复制代码
let reg = /\d/g
reg.exec("a1b2")   // ["1"]
reg.exec("a1b2")   // ["2"]

📌 快速用法总结

  • 验证 → test
  • 提取 → match
  • 替换 → replace
  • 找位置 → search
  • 分割 → split
  • 循环抓取 → exec

📌 常用实战正则(直接复制)

  1. 手机号:^1[3-9]\d{9}$
  2. 邮箱:^\w+@\w+\.\w+$
  3. 身份证:^\d{17}[\dXx]$
  4. URL:^https?://\S+$
  5. 中文:[\u4e00-\u9fa5]
  6. 邮政编码:^\d{6}$
相关推荐
BruceXu6 天前
\b 在中文里会静默失效:三个正则坑和一份能用的字符边界方案
正则表达式
阿昭L7 天前
正则表达式
正则表达式·编译原理
波力海苔夹心脆6758 天前
C# 正则表达式零基础入门:从“看得懂“到“会用“
经验分享·后端·mysql·正则表达式·c#
FRing039 天前
JavaScript入门到精通二十四(正则表达式、元字符、修饰符)
开发语言·前端·javascript·正则表达式
小白快快跑哦10 天前
python-字符串全解(六):正则表达式-元字符与转义
python·正则表达式·字符串·元字符·转义
小白快快跑哦12 天前
python-字符串全解(六):正则表达式-逻辑运算或
python·正则表达式·字符串·逻辑运算
MoRanzhi120313 天前
106.正则问题(分治)
python·算法·正则表达式·蓝桥杯·递归·分治算法·字符串处理
临床数据科学和人工智能兴趣组14 天前
在R语言的生态系统中,字符串处理一直是一个重要且复杂的任务
开发语言·正则表达式·r语言·r语言-4.2.1
小白快快跑哦15 天前
python-字符串全解(六):正则表达式-前后相断言
开发语言·python·正则表达式·前后相断言
小白快快跑哦16 天前
python-字符串全解(六):正则表达式-修饰符
python·正则表达式·修饰符