正则表达式语法大全及用法 带你系统梳理常见规则和实用案例

B站影视 港台电影 2025-09-22 02:27 1

摘要:在日常的编程和数据处理工作中,**正则表达式(Regular Expression,简称 Regex)**几乎是一个“万能工具”。无论是做表单验证、日志分析,还是批量替换文本,只要你掌握了正则,很多复杂问题都能迎刃而解。但不少初学者常常被各种符号和规则“劝退”

在日常的编程和数据处理工作中,**正则表达式(Regular Expression,简称 Regex)**几乎是一个“万能工具”。无论是做表单验证、日志分析,还是批量替换文本,只要你掌握了正则,很多复杂问题都能迎刃而解。
但不少初学者常常被各种符号和规则“劝退”,感觉它像是一门“天书”。其实,正则并没有那么难,它就像是一种简洁而强大的“语言”,一旦掌握,就能让你的效率翻倍。
今天我整理了一份 正则表达式语法大全及用法,带你系统梳理常见规则和实用案例,一篇文章学会正则核心知识。

表达式含义.匹配任意单个字符(除了换行符 \n,某些模式下可包含)\d匹配任意数字,等价于 [0-9]\D匹配任意非数字,等价于 [^0-9]\w匹配字母、数字、下划线,等价于 [A-Za-z0-9_]\W匹配非单词字符,等价于 [^A-Za-z0-9_]\s匹配空白符(空格、制表符、换行等)\S匹配非空白符\n匹配换行符\t匹配制表符表达式含义*匹配前一个字符 0 次或多次+匹配前一个字符 1 次或多次?匹配前一个字符 0 次或 1 次{n}匹配前一个字符 刚好 n 次{n,}匹配前一个字符 至少 n 次{n,m}匹配前一个字符 n 到 m 次

⚠️ 默认是贪婪匹配(尽可能多地匹配),在量词后加 ? 可变成 非贪婪匹配
例如:

.* → 贪婪匹配,匹配到最后.*? → 非贪婪匹配,尽可能少表达式含义^匹配字符串开头$匹配字符串结尾\b匹配单词边界(如 "er\b" 能匹配 "never" 中的 "er",但不能匹配 "verb" 中的 "er")\B匹配非单词边界(?=exp)正向前瞻,匹配某个位置,其后必须跟着 exp(?!exp)负向前瞻,匹配某个位置,其后不能跟着 exp(?正向后顾,匹配某个位置,其前面必须是 exp(?负向后顾,匹配某个位置,其前面不能是 exp表达式含义(exp)捕获分组,将匹配结果保存(?:exp)非捕获分组,不保存匹配结果(?Pexp)命名分组,起别名\1, \2...引用第 1、2... 个捕获组(?P=name)引用命名分组

例子:

(\d{4})-(\d{2})-(\d{2}) 匹配日期 2025-09-22(\w+)\s+\1 匹配连续重复的单词(如 "hello hello")表达式含义[abc]匹配 a、b 或 c[^abc]匹配非 a、b、c[a-z]匹配小写字母[A-Z]匹配大写字母[0-9]匹配数字[a-zA-Z0-9_]匹配字母、数字、下划线修饰符含义i忽略大小写m多行模式,^ $ 匹配每一行s单行模式,. 可以匹配换行符x忽略空格和注释,便于书写复杂正则g全局匹配(JavaScript)匹配邮箱^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$匹配手机号(中国大陆)^1[3-9]\d{9}$匹配 IP 地址^(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d{2}|[1-9]?\d)){3}$提取 HTML 标签内容]*>(.*?)https?:\/\/[^\s/$.?#].[^\s]*

以上就是常见的正则表达式语法与使用方法总结。
如果你刚开始接触,可以先从最常用的邮箱匹配、手机号校验入手,逐步练习 ^、$、\d、\w 等核心规则,再慢慢尝试分组、前瞻、回溯这些进阶用法。
正则表达式就像一把“瑞士军刀”,在数据处理和自动化场景里威力无比。掌握它,你会发现很多原本需要几十行代码才能解决的问题,只要一条正则就能搞定。
希望这份语法大全能成为你的正则速查手册,帮你在工作和学习中更加高效。

来源:梯子科技一点号

相关推荐