正则表达式语法
. 匹配任意字符(除了\n之外的所有字符)
[...] 匹配字符集
\d / \D 匹配数字/非数字
\s / \S 匹配空白/非空白字符
\w / \W 匹配单词字符[a-zA-Z0-9]/非单词字符
* 匹配前一个字符0次或者无限次
+ 匹配前一个字符1次或者无限次
? 匹配前一个字符0次或者1次
{m}/{m,n} 匹配前一个字符m次或者n次
*?/+?/?? 匹配模式变为非贪婪(尽可能少匹配字符)
^ 匹配字符串开头
$ 匹配字符串结尾
\A / \Z 指定的字符串匹必须出现在开头/结尾
| 匹配左右任意一个表达式
(ab) 括号中表达式作为一个分组
\<num> 引用编号为num的分组匹配到的字符串
(?P<name>) 分组起一个别名
(?P=name) 引用别名为name的分组匹配字符串