欢迎来到正则表达式闯关游戏
正则表达式是一种强大的文本模式匹配工具,广泛应用于编程、数据处理和文本编辑中。
不用担心,即使你是编程小白,我们也会通过简单有趣的闯关方式,带你逐步掌握这项实用技能。
本游戏共设计了多个关卡,从最基础的概念开始,逐步深入学习各种正则表达式的用法。
功能特点:
- 详细的正则表达式基础知识教程
- 每个关卡提供多个练习题,从简单到复杂
- 提示系统,当你遇到困难时可以获取帮助
- 参考答案,帮助你理解正确的解题思路
- 正则表达式速查表,随时查阅常用语法
- 实用正则表达式生成器,快速生成常用表达式
- 挑战模式考试,测试你的正则表达式水平
正则表达式基础教程
什么是正则表达式?
正则表达式(Regular Expression,简称 regex 或 regexp)是一种用于匹配字符串中字符组合的模式。简单来说,它是一种强大的文本搜索和替换工具。
正则表达式可以用于:
- 表单验证(如邮箱、电话号码格式检查)
- 文本搜索和替换
- 数据提取
- 字符串解析
正则表达式基本语法
1. 普通字符
大多数字符(字母和数字)在正则表达式中表示它们自己。
apple - 匹配字符串中包含 "apple" 的部分
123 - 匹配字符串中包含 "123" 的部分
2. 元字符(特殊字符)
某些字符在正则表达式中有特殊含义:
元字符 | 描述 | 示例 |
---|---|---|
. | 匹配任意单个字符(除了换行符) | a.c 匹配 "abc", "adc", "a1c" 等 |
^ | 匹配字符串的开头 | ^hello 匹配以 "hello" 开头的字符串 |
$ | 匹配字符串的结尾 | world$ 匹配以 "world" 结尾的字符串 |
* | 匹配前面的表达式 0 次或多次 | a* 匹配 "", "a", "aa", "aaa" 等 |
+ | 匹配前面的表达式 1 次或多次 | a+ 匹配 "a", "aa", "aaa" 等,但不匹配 "" |
? | 匹配前面的表达式 0 次或 1 次 | colou?r 匹配 "color" 或 "colour" |
| | 匹配'|'前或后的表达式,表示"或" | cat|dog 匹配 "cat" 或 "dog" |
\ | 转义字符,用于匹配元字符本身 | \. 匹配点号本身,而不是任意字符 |
3. 字符类
字符类用方括号 [] 表示,匹配括号中任意一个字符:
[abc] - 匹配 "a", "b" 或 "c" 中的任意一个字符
[a-z] - 匹配任意一个小写字母
[A-Z] - 匹配任意一个大写字母
[0-9] - 匹配任意一个数字
[^abc] - 匹配除了 "a", "b" 或 "c" 以外的任意字符
4. 简写字符类
一些常用的字符类有简写形式:
\d - 匹配任意数字,等同于 [0-9]
\D - 匹配任意非数字字符,等同于 [^0-9]
\w - 匹配任意字母、数字或下划线,等同于 [a-zA-Z0-9_]
\W - 匹配任意非单词字符
\s - 匹配任意空白字符(空格、制表符、换行符等)
\S - 匹配任意非空白字符
5. 量词
量词用于指定前面的表达式应该匹配多少次:
{n} - 匹配恰好 n 次
{n,} - 匹配至少 n 次
{n,m} - 匹配 n 到 m 次
* - 匹配 0 次或多次,等同于 {0,}
+ - 匹配 1 次或多次,等同于 {1,}
? - 匹配 0 次或 1 次,等同于 {0,1}
6. 边界匹配
边界匹配器用于指定模式出现的位置:
^ - 匹配字符串的开头
$ - 匹配字符串的结尾
\b - 匹配单词的边界
7. 分组和捕获
可以使用圆括号 () 将表达式分组:
(ab)+ - 匹配 "ab", "abab", "ababab" 等
(a|b)c - 匹配 "ac" 或 "bc"
常见正则表达式模式
^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$ - 匹配电子邮件地址
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$ - 匹配至少8位,包含字母和数字的密码
^\d{4}-\d{2}-\d{2}$ - 匹配形如 "YYYY-MM-DD" 的日期格式
学习建议
- 从基础开始,逐步学习各种模式
- 多练习,通过实际例子加深理解
- 使用在线工具(如 regex101.com)测试你的正则表达式
- 尝试分析和理解复杂的正则表达式模式
准备好了吗?现在你可以开始闯关挑战,巩固所学知识!
实用正则表达式生成器
选择你需要的正则表达式类型,我们将为你生成对应的正则表达式。
生成的正则表达式
说明
测试区域
正则表达式挑战考试
这是一个测试你正则表达式掌握程度的挑战考试。考试包含20道随机题目,需要在限定时间内完成。
考试规则:
- 总共20道题目,随机抽取
- 限时30分钟
- 题目类型包括:创建正则表达式、分析已有正则表达式、判断匹配结果等
- 满分100分,每题5分
- 答题过程中请勿刷新页面,否则答题进度将丢失
准备好挑战了吗?点击下方按钮开始考试!
选择难度:
考试结果
得分:0/100
用时:00:00
正确题数:0