商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 20道正则表达式练习题及代码示例

20道正则表达式练习题及代码示例

  发布于2026-07-09 阅读(0)

扫一扫,手机访问

正则表达式这东西,用好了是利器,用不对就是一团乱码。下面这20道练习题,从基础到进阶,覆盖了日常开发中最常见的文本匹配场景。每道题都附上了表达式和示例,方便直接上手验证。

20道正则表达式练习题及代码示例

题目 1:匹配有效的电子邮件地址

先从最常用的场景开始——验证邮箱。规则很简单:用户名部分允许字母、数字、点号、下划线、百分号、加号和减号,后面跟@,然后是域名,最后是顶级域名(至少2个字母)。

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$

示例example@example.com

题目 2:匹配IPv4地址

IP地址匹配稍微绕一点,关键是每个字段只能是0-255。用分组加或运算,把每个数字范围拆成三段:250-255、200-249、100-199,以及0-99。

^(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}$

示例192.168.1.1

题目 3:匹配日期格式YYYY-MM-DD

日期格式需要兼顾月份和日期的合法性。月份01-12,日期01-31,但这里没做平闰年的精细校验(日常够用了)。

^d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$

示例2023-04-09

题目 4:匹配电话号码(123) 456-7890

北美电话格式,括号内三位区号,中间一个空格,然后三位-四位。注意括号本身需要转义。

^(d{3}) d{3}-d{4}$

示例(123) 456-7890

题目 5:匹配URL

URL匹配要支持http、https和ftp,后面跟上非空白字符的路径。

^(https?|ftp)://[^s/$.?#].[^s]*$

示例https://www.example.com

题目 6:匹配邮政编码(5位或9位)

美国邮编有两种:五位纯数字,或者五位+连字符+四位。后面的四位数可选。

^d{5}(-d{4})?$

示例1234512345-6789

题目 7:匹配16位信用卡号

信用卡号常以4组4位数字显示,中间可能有连字符。这个表达式允许连字符存在0或1次。

^d{4}-?d{4}-?d{4}-?d{4}$

示例1234-5678-9012-3456

题目 8:匹配全大写单词

只包含大写字母的字符串,一个或多个。

^[A-Z]+$

示例HELLO

题目 9:匹配全小写单词

同理,只包含小写字母。

^[a-z]+$

示例hello

题目 10:匹配包含数字的字符串

只要字符串里至少有一个数字就行,其他字符随意。

.*d.*

示例abc123

题目 11:匹配以特定单词开头的字符串

如果你想检查字符串是否以某个词开头,用这个模式。

^word.*

示例wordplay

题目 12:匹配以特定单词结尾的字符串

反过来,检查是否以某个词结尾。

.*word$

示例playword

题目 13:匹配包含特定单词的字符串

使用单词边界精确匹配整个单词,避免部分匹配的干扰。

.*bwordb.*

示例this is a word in a sentence

题目 14:匹配HTML标签

提取HTML标签时,注意匹配尖括号内的所有内容,但不要跨行。

<[^>]+>

示例

题目 15:匹配连续的空白字符

一个或多个空白符(空格、制表符、换行等),常用于替换或分割。

s+

示例Hello World(匹配中间的空格)

题目 16:匹配非空白字符

与上面相反,匹配所有非空白字符,连续的一段。

S+

示例HelloWorld

题目 17:匹配单词边界

精准定位单词的边界,常用于替换时保留单词完整性。

bwordb

示例word

题目 18:匹配十六进制颜色代码

Web颜色代码分6位和3位简写两种,以#开头,后面跟6个或3个十六进制字符。

^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$

示例#FFA07A

题目 19:匹配浮点数

支持正负号、整数部分和小数部分,小数部分可选。

^-?d+(.d+)?$

示例-123.45

题目 20:匹配时间格式HH:MM

24小时制,小时00-23,分钟00-59。

^([01]d|2[0-3]):([0-5]d)$

示例14:30

通过这些练习题和示例,你可以更好地理解和应用正则表达式。希望这些题目能帮助你提高正则表达式的技能!

总结

本文转载于:https://www.jb51.net/program/367065vaf.htm 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。