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

先从最常用的场景开始——验证邮箱。规则很简单:用户名部分允许字母、数字、点号、下划线、百分号、加号和减号,后面跟@,然后是域名,最后是顶级域名(至少2个字母)。
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,}$
示例:example@example.com
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
日期格式需要兼顾月份和日期的合法性。月份01-12,日期01-31,但这里没做平闰年的精细校验(日常够用了)。
^d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
示例:2023-04-09
北美电话格式,括号内三位区号,中间一个空格,然后三位-四位。注意括号本身需要转义。
^(d{3}) d{3}-d{4}$
示例:(123) 456-7890
URL匹配要支持http、https和ftp,后面跟上非空白字符的路径。
^(https?|ftp)://[^s/$.?#].[^s]*$
示例:https://www.example.com
美国邮编有两种:五位纯数字,或者五位+连字符+四位。后面的四位数可选。
^d{5}(-d{4})?$
示例:12345 或 12345-6789
信用卡号常以4组4位数字显示,中间可能有连字符。这个表达式允许连字符存在0或1次。
^d{4}-?d{4}-?d{4}-?d{4}$
示例:1234-5678-9012-3456
只包含大写字母的字符串,一个或多个。
^[A-Z]+$
示例:HELLO
同理,只包含小写字母。
^[a-z]+$
示例:hello
只要字符串里至少有一个数字就行,其他字符随意。
.*d.*
示例:abc123
如果你想检查字符串是否以某个词开头,用这个模式。
^word.*
示例:wordplay
反过来,检查是否以某个词结尾。
.*word$
示例:playword
使用单词边界精确匹配整个单词,避免部分匹配的干扰。
.*bwordb.*
示例:this is a word in a sentence
提取HTML标签时,注意匹配尖括号内的所有内容,但不要跨行。
<[^>]+>
示例: 一个或多个空白符(空格、制表符、换行等),常用于替换或分割。 示例: 与上面相反,匹配所有非空白字符,连续的一段。 示例: 精准定位单词的边界,常用于替换时保留单词完整性。 示例: Web颜色代码分6位和3位简写两种,以#开头,后面跟6个或3个十六进制字符。 示例: 支持正负号、整数部分和小数部分,小数部分可选。 示例: 24小时制,小时00-23,分钟00-59。 示例: 通过这些练习题和示例,你可以更好地理解和应用正则表达式。希望这些题目能帮助你提高正则表达式的技能! 售后无忧 office旗舰店 售后无忧 office旗舰店 售后无忧 office旗舰店 售后无忧 office旗舰店题目 15:匹配连续的空白字符
s+
Hello World(匹配中间的空格)题目 16:匹配非空白字符
S+
HelloWorld题目 17:匹配单词边界
bwordb
word题目 18:匹配十六进制颜色代码
^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
#FFA07A题目 19:匹配浮点数
^-?d+(.d+)?$
-123.45题目 20:匹配时间格式HH:MM
^([01]d|2[0-3]):([0-5]d)$
14:30总结
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。
产品推荐
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8