欢迎光临
我们一直在努力

正则表达式(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)

用于表单验证、格式检查

let reg = /^\\d+$/
reg.test("123") // true
reg.test("abc") // false

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

let str = "a1b2c3"
str.match(/\\d/g) // ["1","2","3"]

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

let str = "hello 123"
str.replace(/\\d/g, "#") // "hello ###"

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

"abc123".search(/\\d/) // 3

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

"a1b2c".split(/\\d/) // ["a","b","c"]

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

let reg = /\\d/g
reg.exec("a1b2") // ["1"]
reg.exec("a1b2") // ["2"]


📌 快速用法总结

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

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

  • 手机号:^1[3-9]\\d{9}$
  • 邮箱:^\\w+@\\w+\\.\\w+$
  • 身份证:^\\d{17}[\\dXx]$
  • URL:^https?://\\S+$
  • 中文:[\\u4e00-\\u9fa5]
  • 邮政编码:^\\d{6}$
  • 赞(0)
    未经允许不得转载:171主机测评 » 正则表达式(Regex)通用相关知识点
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址