匹配的网站:https://regex101.com/
一、定义
正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。
正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。
正则表达式是繁琐的,但它是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感。
二、匹配规则
. 匹配任意除换行符"\n"外的字符
\ 转义字符,使后一个字符改变原来的意思
* 匹配前一个字符0次或者多次
+ 匹配前一个字符1次或者多次
? 匹配一个字符0次或1次
^ 匹配字符串开头,在多行模式中匹配每一行的开头
$ 匹配字符串末尾,在多行模式中匹配每一行的末尾
| 或。匹配|左右表达式任意一个,从左到右匹配,如果|没有包括在()中,则它的范围是整个正则表达式
{} {m}匹配前一个字符m次,{m,n}匹配前一个字符m至n次,若省略n,则匹配m至无限次
[] 字符集。对应的位置可以是字符集中任意字符。字符集中的字符可以逐个列出,也可以给出范围,如[abc]或[a-c]。[^abc]表示取反,即非abc。
所有特殊字符在字符集中都失去其原有的特殊含义。用\反斜杠转义恢复特殊字符的特殊含义。
() 被括起来的表达式将作为分组,从表达式左边开始没遇到一个分组的左括号“(”,编号+1.
分组表达式作为一个整体,可以后接数量词。表达式中的|仅在该组中有效。
\d 数字【0-9】
\D 非数字 【^\d】
\s 匹配任何空白字符【<空格>\t\r\n\f\v】
\S 匹配非空白字符 【^\