首页 > 生活经验 >

常用正则表达式

2025-09-22 00:20:12

问题描述:

常用正则表达式,蹲一个大佬,求不嫌弃我的问题!

最佳答案

推荐答案

2025-09-22 00:20:12

常用正则表达式】在日常的编程和文本处理中,正则表达式(Regular Expression)是一种非常强大的工具,用于匹配、查找、替换和提取字符串中的特定模式。无论是进行数据验证、日志分析还是文本处理,掌握一些常用的正则表达式可以大大提高效率。

以下是一些在实际开发中经常用到的正则表达式,按功能分类整理,并附上简要说明及示例。

一、基础匹配

正则表达式 说明 示例
`^a` 匹配以字母 a 开头的字符串 "apple" 匹配,"banana" 不匹配
`a$` 匹配以字母 a 结尾的字符串 "cat" 匹配,"dog" 不匹配
`.` 匹配任意单个字符(除换行符) "a1"、"b2" 都匹配
`\d` 匹配数字(0-9) "123" 匹配,"abc" 不匹配
`\D` 匹配非数字字符 "abc" 匹配,"123" 不匹配

二、重复与范围

正则表达式 说明 示例
`a+` 匹配一个或多个 a "aa", "aaa" 匹配,"a" 匹配,"b" 不匹配
`a` 匹配零个或多个 a ""、"a"、"aa" 都匹配
`a?` 匹配零个或一个 a "a" 或 "" 匹配,"aa" 不匹配
`[abc]` 匹配 a、b 或 c 中的一个 "a"、"b"、"c" 匹配,"d" 不匹配
`[a-z]` 匹配小写字母 "a" 到 "z" 的字符都匹配
`[A-Z]` 匹配大写字母 "A" 到 "Z" 的字符都匹配
`[0-9]` 匹配数字 "0" 到 "9" 的字符都匹配

三、边界与分组

正则表达式 说明 示例
`\b` 匹配单词边界 "word" 中的 "w" 和 "o" 之间有边界
`\B` 匹配非单词边界 在单词内部匹配
`(abc)` 分组匹配,将 abc 视为一个整体 "abc123" 可匹配到 "abc"
`(?=...)` 正向预查,匹配后面有某内容的字符串 "test123" 匹配,但不包含 "123"
`(?!...)` 负向预查,匹配后面没有某内容的字符串 "test" 匹配,但 "test123" 不匹配

四、常见应用场景

场景 正则表达式 用途
匹配邮箱地址 `^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$` 验证用户输入的邮箱格式
匹配手机号码(中国大陆) `^1[3-9]\d{9}$` 检查手机号是否符合规范
匹配IP地址 `^(\d{1,3}\.){3}\d{1,3}$` 验证IP地址格式
匹配URL `^(https?:\/\/)?([\da-z\.-]+\.[a-z\.]{2,6})([\/\w \.-])\/?$` 提取网页链接
匹配日期(YYYY-MM-DD) `^\d{4}-\d{2}-\d{2}$` 验证日期格式

五、注意事项

- 正则表达式在不同语言中可能略有差异,如 Python、JavaScript、Java 等。

- 复杂的正则表达式容易造成性能问题,应尽量避免过度嵌套或使用过于复杂的模式。

- 使用时建议配合测试工具(如 regex101.com)进行调试,确保匹配结果符合预期。

通过合理运用这些正则表达式,可以在实际开发中提高代码的灵活性和健壮性。当然,正则表达式的学习是一个长期积累的过程,建议结合具体项目不断实践和优化。

免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。