正则表达式工具完整说明文档

简介

正则表达式(Regular Expression)是一种强大的文本处理工具,用于匹配、查找、替换和提取文本中的特定模式。本说明文档将帮助您更好地使用我们的在线正则表达式工具。

提示:您可以在我们的在线工具中实时测试这些正则表达式!

基本语法

正则表达式由普通字符和特殊字符(元字符)组成。

普通字符

字母、数字、汉字、下划线及没有特殊定义的标点符号都是"普通字符"。

示例:abc 匹配 "abc"

元字符(特殊字符)

元字符 说明 示例
. 匹配除换行符外的任意单个字符 a.c 匹配 "abc"、"a c"
\d 匹配数字(0-9) \d\d 匹配 "12"、"34"
\w 匹配字母、数字、下划线 \w\w 匹配 "ab"、"12"
\s 匹配任何空白字符(空格、制表符、换行符) a\sb 匹配 "a b"
\b 匹配单词边界 \bword\b 匹配 "word" 但不匹配 "keyword"
\D 匹配非数字字符 \D 匹配 "a"、"@"
\W 匹配非字母、数字、下划线字符 \W 匹配 "@"、" "
\S 匹配任何非空白字符 \S 匹配 "a"、"1"
\B 匹配非单词边界 \Bword\B 匹配 "keyword" 中的 "word"

字符类

字符类用于匹配一组字符中的任意一个。

基本字符类

  • [abc]:匹配方括号中的任意一个字符
  • [a-z]:匹配指定范围内的任意字符
  • [^abc]:匹配不在方括号中的任意字符

示例

[aeiou] 匹配任意元音字母
[0-9] 匹配任意数字(等同于 \d)
[^0-9] 匹配任意非数字字符(等同于 \D)

量词

量词用于指定匹配字符或子表达式的数量。

量词 说明 示例
* 匹配前面的子表达式零次或多次 ab*c 匹配 "ac"、"abc"、"abbc"
+ 匹配前面的子表达式一次或多次 ab+c 匹配 "abc"、"abbc" 但不匹配 "ac"
? 匹配前面的子表达式零次或一次 ab?c 匹配 "ac"、"abc"
{n} 匹配确定的 n 次 a{3} 匹配 "aaa"
{n,} 匹配至少 n 次 a{2,} 匹配 "aa"、"aaa"
{n,m} 匹配至少 n 次,最多 m 次 a{2,4} 匹配 "aa"、"aaa"、"aaaa"

位置锚点

位置锚点用于匹配字符串中的特定位置。

锚点 说明 示例
^ 匹配字符串的开始位置 ^abc 匹配以 "abc" 开头的字符串
$ 匹配字符串的结束位置 abc$ 匹配以 "abc" 结尾的字符串

分组和捕获

分组允许将多个字符视为一个单元,并可以捕获匹配的文本。

语法 说明 示例
(pattern) 匹配并捕获分组 (abc)+ 匹配 "abc"、"abcabc"
(?:pattern) 匹配但不捕获分组 (?:abc)+ 匹配但不捕获分组
| 或操作,匹配左边或右边的表达式 a|b 匹配 "a" 或 "b"

转义字符

使用反斜杠 \ 来转义特殊字符,使其成为普通字符。

\. 匹配字面意义的点号
\\ 匹配反斜杠字符
\* 匹配星号字符
\+ 匹配加号字符
\? 匹配问号字符
注意:在正则表达式中,特殊字符如 . * + ? ^ $ [ ] { } ( ) | \ 都需要转义才能匹配字面值。

常用正则表达式示例

邮箱地址
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
手机号码(中国大陆)
^1[3-9]\d{9}$
URL地址
https?://[^\s/$.?#].[^\s]*
IP地址
\b(?:\d{1,3}\.){3}\d{1,3}\b
日期(YYYY-MM-DD)
^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$
中文汉字
[\u4e00-\u9fa5]

工具使用技巧

  • 测试模式:输入正则表达式和测试文本,实时查看匹配结果
  • 全局匹配:使用 g 标志进行全局匹配查找所有结果
  • 忽略大小写:使用 i 标志进行不区分大小写的匹配
  • 多行模式:使用 m 标志让 ^ 和 $ 匹配每行的开头和结尾
  • 替换功能:使用捕获组进行文本替换,如 $1、$2 引用分组

注意事项

  • 正则表达式在不同编程语言中可能有细微差异
  • 复杂的正则表达式可能会影响性能,请合理设计
  • 使用在线工具时,注意不要输入敏感信息
  • 复杂的正则表达式可能难以调试,建议分步构建和测试
  • 某些正则表达式引擎支持扩展语法,使用时请注意兼容性