正则表达式全解——正则基础
6月 02, 2019
744
正则表达式
正则基础
^
表示一行的开始
$
表示一行的结束
[…]
表示其中的字符是选择性(逻辑或)的,要么是a,要么是b,要么是…。
c[a|b]t 可以匹配到cat、cbt
[a-z]、[0-9]、[0-9A-Za-z]是支持的。
[^$] 匹配空行
像 . * + ? 这些词在[]中仅表示字面的意思,利用这一特性,如果想表示原本含义,例如要匹配 . ,可以写为[.]
[^…]
表示匹配不是其中的字符。为上一条的取反
-
连字符,表示一个范围,见上一条。
如果要匹配 - ,请将 - 写在开始位置,如果[-a-z],匹配-或者是小写字母。
.
表示任意字符(除了换行符),
|
表示或者
(cat|dog) 表示要么cat,要么dog,
注意:这和[…]不同的是,[…]匹配其中的单个字符,(..|…)可以匹配不同的字符组。
?
表示可选项,类似于单选框,匹配零个或一个。
+
表示出现一次或多次。
*
表示匹配零次或多次。
{min,max}
表示匹配之前的子表达式重复min到max次。(闭区间)
{count} 表示匹配count次。
括号与反向引用
([0-9]){2,3}add\1 \1表示第一个括号中的内容再次使用。
转义字符
像 . * + ? 这些词在正则中有特殊的含义,要想使用它原本的含义,使用\来进行转义。
(…)
括号的作用:1.限制多选结构,2.分组,3.捕获文本。
一些特殊的字符
- \t 制表符
- \n换行符
- \r 回车符
- \s 任何空白字符(例如空格符、制表符、换行符等)
- \S 除\s之外的任何字符(所以用(\s|\S) * )来表示任意字符。
- \w 相当于[a-zA-Z0-9] 所以经常用\w+来表示一个单词
- \W \w取反,也就是[^a-zA-Z0-9]
- \d 相当于[0-9] 也就是数字
- \D \d取反,也就是[^0-9]