正则表达式学习笔记

因为正则表达式这几年来几乎没有什么变化,前一段时间整理老博客的时候发现了这篇学习笔记,干脆整理一下,方便以后参考

基本概念

元字符

语法 说明
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束

元字符的反义

语法 说明
\W 匹配不是字母或数字或下划线或汉字
\S 匹配不是任意空白符的字符
\D 匹配不是数字的字符
\B 匹配不是单词的开始或结束的位置
[^a] 匹配除了 a 以外的任意字符
[^abcd] 匹配除了 abcd 这几个字母以外的任意字符

重复模式

语法 说明
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复 n 次
{n, } 重复 n 或更多次
{n, m} 重复 n 次到 m 次

贪心匹配与懒惰匹配

语法 说明
*? 重复任意次,但尽可能少重复
+? 重复 1 次或更多次,但尽可能少重复
?? 重复 0 次或 1 次,但尽可能少重复
{n, m}? 重复 n 次到 m 次,但尽可能少重复
{n, }? 重复 n 次以上,但尽可能少重复

匹配方法

后向引用

(整理中)

零宽断言

(整理中)

负向零宽断言

(整理中)

正则调试器

  • RegexBuddy
  • Regexr
  • RegExBuilder
  • 其他搜索引擎能找到的在线正则匹配工具

参考资料

评论