目录


1. 什么是正则表达式?

正则表达式(Regular Expression,简称 Regex) 是一种用于 匹配、搜索、替换 字符串的强大工具。它由一系列字符和元字符组成,用于定义特定的文本模式。

正则表达式最早由计算机科学家 Stephen Kleene 在 1950 年代提出,并广泛应用于 文本处理、数据验证、日志分析、爬虫开发 等领域。


2. 正则表达式的用途

正则表达式可以用于:
字符串匹配(如搜索关键字)
数据验证(如检查邮箱、手机号格式)
文本提取(如从 HTML 页面提取链接)
数据清理(如删除重复空格、格式化文本)
代码分析(如检查代码风格、解析日志文件)


3. 正则表达式的基本结构

正则表达式由 普通字符元字符 组成:

1️⃣ 普通字符

普通字符就是 字母、数字、符号,匹配它们本身,例如:

  • hello 只能匹配 "hello",无法匹配 "Hello""HELLO"
  • 123 只能匹配 "123",无法匹配 "0123"

2️⃣ 元字符(Metacharacters)

元字符具有特殊意义,可用于定义复杂的匹配规则,例如:

元字符说明示例
.匹配 任意单个字符(换行符除外)a.b 可匹配 "acb""a0b"
^匹配 字符串开头^Hello 仅匹配以 "Hello" 开头的文本
$匹配 字符串结尾world$ 仅匹配以 "world" 结尾的文本
\d匹配 数字(0-9)\d{3} 可匹配 "123"
\w匹配 字母、数字、下划线\w+ 可匹配 "hello_123"
\s匹配 空格(包括换行符、制表符)Hello\sWorld 可匹配 "Hello World"

4. 常见正则表达式示例

需求正则表达式示例匹配
匹配邮箱^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$user@example.com
匹配手机号(中国)^1[3-9]\d{9}$13812345678
匹配 IP 地址^(?:\d{1,3}\.){3}\d{1,3}$192.168.1.1
匹配日期(YYYY-MM-DD)^\d{4}-\d{2}-\d{2}$2025-03-30
匹配纯数字^\d+$123456
匹配 HTML 标签^<([a-zA-Z]+)>.*</\1>$<div>Hello</div>

5. 参考资料


这篇文章提供了 正则表达式的基础知识,如果你需要更深入的讲解(如 高级匹配、贪婪模式、断言 等),可以告诉我!😊