正则表达式

正则表达式(Regular Expression,简称 regex)是一种强大的文本处理工具,用于匹配、查找、替换或提取字符串中的特定模式。

一、正则表达式基础概念

什么是正则表达式? 它是由普通字符(如字母、数字)和特殊字符(称为元字符)组成的“规则字符串”,用来描述文本模式。例如:

  • \d 匹配数字,等价于 [0-9]
  • \w 匹配字母、数字或下划线,等价于 [A-Za-z0-9_]
  • . 匹配任意单个字符(除换行符) 

核心用途

  • 验证格式:如检查邮箱、电话号码是否合法。
  • 搜索与替换:在文本中批量修改特定内容。
  • 数据提取:从日志、HTML等文本中提取关键信息

 

二、基础语法速成 

1. 常用元字符
元字符 说明 示例
^ 匹配字符串开头 ^a 匹配以 "a" 开头的字符串
$ 匹配字符串结尾 a$ 匹配以 "a" 结尾的字符串
\d 匹配数字 \d+ 匹配连续数字(如 "123")
\s 匹配空白符(空格、制表符等) \s+ 匹配多个空格
[] 匹配括号内任意一个字符 [aeiou] 匹配任意元音字母
* 匹配前一个字符0次或多次 a* 匹配 "a", "aa", ""(空)
+ 匹配前一个字符1次或多次 a+ 不匹配空字符串
? 匹配前一个字符0次或1次 colou?r 匹配 "color" 或 "colour"
2. 示例解析 

匹配手机号(中国大陆):

^1[3-9]\d{9}$
  • ^1:以1开头
  • [3-9]:第二位是3-9
  • \d{9}:后面9位数字
  • $:结束

提取HTML标签

<[^>]+>
  • < 和 > 匹配标签的尖括号
  • [^>]+ 匹配除 > 外的任意字符1次或多次 

三、实战案例 

1. 验证邮箱地址
^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
  • \w+:匹配用户名部分(字母/数字/下划线)
  • ([-+.]\w+)*:可选的分隔符(如 .-)和后续字符
  • @ 和 . 匹配邮箱固定符号
2. 从日志中提取错误信息 
const log = "ERROR: File not found\nINFO: User logged in";
const errors = log.match(/^ERROR:.*$/gm);
// 结果: ["ERROR: File not found"]
  • ^ERROR:.*$:匹配以 "ERROR:" 开头的整行
  • gm 标志:全局匹配 + 多行模式

你可能感兴趣的:(正则表达式)