playground

语法

行的起始

^符号用来匹配一行的开始位置,比如^word匹配以word开头的行。

行的结束

$符号用来匹配一行的结束位置,比如word$匹配以word结束的行。

字符组

[...]符号用来匹配括号中的任意字符,比如[abc]可以匹配a或者b或者c,至少有一个字符可以被匹配到。

在字符组中可以用-连字符表示一个范围,比如[0-9]可以匹配数字0到9,[a-z]可以匹配字符a到z。

[^...]符号用来匹配在括号中列出的所有字符,比如[^a-z]可以匹配除a到z以外的所有字符。

任意字符

.符号可以匹配任意字符。

多选分支

|符号用来表示多选分支,比如ab|AB可以匹配ab或者AB,(W|w)ord可以匹配Word或者word。

量词

?表示在它之前的元素是可选的,比如July?可以匹配Jul也可以匹配July,因为y是可选的;1(st)?可以匹配1,也可以匹配1st,因为st是可选的。

+表示在它之前的元素至少匹配一次,比如a+可以匹配a,但不能匹配到b。

*表示在它之前的元素匹配任意次数或者不匹配,比如a*可以匹配a,也可以匹配到b。

{min, max}区间表示它之前的元素至少匹配min次,最多匹配max次。

反向引用

\n(n是一个正整数)符号用来保存之前匹配的文本,比如([a-z])([0-9])\1\2中的\1保存了第1个括号中[a-z]匹配的部分,\2保存了第2个括号中[0-9]匹配的部分。

转义

\用来转义,比如www\.google\.com可以匹配www.google.com而不会匹配www,google,com。