✏️ 正则表达式
/ / g
📌 常用正则表达式
📝 测试文本
匹配结果
高亮显示
匹配的内容将在此高亮显示...
匹配列表
匹配数量:0 捕获组:0
💻 代码生成
JavaScript

                
📖 正则表达式介绍

正则表达式(Regular Expression,简称 regex 或 regexp)是一种用于匹配字符串中字符组合的模式。正则表达式是由一系列字符和特殊字符组成的字符串,用于描述一个搜索模式。

正则表达式广泛应用于:

  • 文本搜索和替换 - 在文本编辑器中查找和替换内容
  • 数据验证 - 验证邮箱、手机号、身份证等格式
  • 数据提取 - 从文本中提取特定模式的数据
  • 词法分析 - 编译器和解释器的词法分析阶段

一个简单的例子:正则表达式 \d+ 可以匹配一个或多个数字,如 "123"、"4567" 等。

正则表达式的基本组成:

  • 普通字符 - 直接匹配自身,如 a 匹配字母 "a"
  • 元字符 - 具有特殊含义的字符,如 .*+
  • 字符类 - 用方括号定义的字符集合,如 [a-z]
  • 量词 - 指定匹配次数,如 {2,4} 表示匹配 2 到 4 次
  • 分组和捕获 - 用圆括号将部分表达式组合,如 (abc)+
🔤 元字符列表
元字符 描述 示例
.匹配除换行符外的任意单个字符a.c 匹配 "abc"、"a1c"
^匹配字符串的开始位置^Hello 匹配以 "Hello" 开头
$匹配字符串的结束位置world$ 匹配以 "world" 结尾
*匹配前面的元素零次或多次ab*c 匹配 "ac"、"abc"、"abbc"
+匹配前面的元素一次或多次ab+c 匹配 "abc"、"abbc",不匹配 "ac"
?匹配前面的元素零次或一次colou?r 匹配 "color" 或 "colour"
\d匹配任意数字,等价于 [0-9]\d+ 匹配 "123"
\D匹配任意非数字字符\D+ 匹配 "abc"
\w匹配字母、数字、下划线\w+ 匹配 "hello_123"
\W匹配非字母、数字、下划线\W 匹配 "@"、"#"
\s匹配任意空白字符\s+ 匹配空格、制表符
\S匹配任意非空白字符\S+ 匹配 "hello"
\b匹配单词边界\bword\b 精确匹配 "word"
[...]字符类,匹配方括号内任一字符[aeiou] 匹配任意元音
[^...]否定字符类,匹配不在方括号内的字符[^0-9] 匹配非数字
(...)捕获分组(\d+)-(\d+) 捕获两组数字
(?:...)非捕获分组(?:ab)+ 匹配但不捕获
|或运算符,匹配左边或右边的表达式cat|dog 匹配 "cat" 或 "dog"
{n}精确匹配 n 次\d{4} 匹配4位数字
{n,}匹配至少 n 次\d{2,} 匹配2位及以上数字
{n,m}匹配 n 到 m 次\d{2,4} 匹配2到4位数字
🚩 修饰符说明
修饰符 名称 描述
gglobal全局匹配,查找所有匹配项而非在第一个匹配后停止
iignoreCase忽略大小写匹配
mmultiline多行模式,^ 和 $ 匹配每行的开始和结束
sdotAll单行模式,使 . 可以匹配换行符
uunicode启用 Unicode 匹配模式
ysticky粘性匹配,仅从 lastIndex 指示的位置开始匹配