正则表达式常用语法与实例详解
正则表达式(Regular Expression)是一种用于匹配字符串模式的工具,广泛应用于文本检索、验证、替换等场景。本文基于常用正则语法,结合实例解析其核心规则,帮助快速掌握正则表达式的使用。
基础匹配符号
1. 普通字符与转义符(\)
普通字符:直接匹配自身(如
a匹配 “a”,123匹配 “123”)。转义符
\:将特殊字符转为普通字符,或表示特殊含义:- 匹配特殊字符(如
\.匹配 “.”,\*匹配 “*”)。 - 表示不可见字符(如
\n匹配换行,\t匹配制表符)。
示例:
- 正则
a\.b匹配 “a.b”(而非 “acb” 等)。 - 正则
\t匹配字符串中的制表符。
- 匹配特殊字符(如
2. 锚点:定位匹配位置
^:匹配字符串的开始位置(如^abc匹配以 “abc” 开头的字符串,如 “abc123”)。$$`:匹配字符串的结束位置(如 `xyz$$ 匹配以 “xyz” 结尾的字符串,如 “123xyz”)。
\b:匹配单词边界(单词与非单词字符的分界,如er\b匹配 “never” 中的 “er”,但不匹配 “verb” 中的 “er”)。\B:匹配非单词边界(如er\B匹配 “verb” 中的 “er”,但不匹配 “never” 中的 “er”)。示例:
- 正则
^hello$仅匹配字符串 “hello”(精确匹配)。 - 正则
\bcat\b匹配 “cat” 或 “a cat”,但不匹配 “category”(”cat” 不是独立单词)。
- 正则
量词:控制匹配次数
量词用于指定前面的子表达式匹配的次数,默认是贪婪模式(尽可能多匹配),加 ? 可变为非贪婪模式(尽可能少匹配)。