正则表达式入门

127 阅读2分钟

记录正则表达式的一些语法规则。本文主要参考文章:正则表达式30分钟入门教程

具有特殊意义的字符一般被称为元字符metacharacter。

常用语法

  • .匹配除了换行符以外的任意字符。
  • *+指定符号前边的内容可以连续重复使用任意次以使整个表达式得到匹配。*匹配重复任意次(可能是0次),而+则匹配重复1次或更多次。
  • \b代表着单词的开头或结尾,也就是单词的分界处。
  • \d表示匹配一位数字。d{8}表示连续匹配8次。
  • \s匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等。
  • \w匹配字母或数字或下划线或汉字等。
  • 元字符^(和数字6在同一个键位上的符号)和$都匹配一个位置,这和\b有点类似。^匹配你要用来查找的字符串的开头,$匹配结尾。这两个代码在验证输入的内容时非常有用,比如一个网站如果要求你填写的QQ号必须为5位到12位数字时,可以使用:^\d{5,12}$。
  • 方括号内可直接列出要匹配的字符。[0-9]代表的含意与\d就是完全一致的。

image.png

字符转义

与Markdown语法的字符转义一样,用\加上特殊字符,就可以表示出其原本的样子,而不是特殊的含义。

重复

常用限定符

image.png

分支条件

需要同时满足多种匹配格式时,用|将它们合并一起即可。使用分枝条件时,要注意各个条件的顺序。因为从左往右匹配成功第一种后,就会停止匹配后续的条件。

分组

当同一个字符或一组字符需要连续匹配多次,一般用小括号括起来表示为一个整体,然后用{数字}表示重复次数,例如(\d){8}表示连续匹配8个数字。

image.png

反义

查找不属于某个能简单定义的字符类的字符,需要用到下面的反义代码:

image.png

以上用法基本够用,如果需要更多的语法,可以参考文章顶部的扩展链接。