/i case insensitive
/x ignore pattern white space
/s 输入视为单行
/g 全局匹配所有
/o 对pattern为变量替换的只赋值一次
/m 所有行里逐行匹配
/e 替换块视为perl代码而非字符串
\b word border
\B non word border
\d [0-9]
\D [^0-9]
\w [A-Za-z0-9]单个字符
\W [^_A-Za-z0-9]
\s [ \r\n\t\f]空白\f换页符
\S [^ \r\n\t\f]任意非空白
=~ match the left string, not $_
$num pattern matched result in curve, num is curve index, $num捕获的是离它最近的表达式的圆括号匹配值
(?:) 左括号后加?:表示本括号不参加捕获,则捕获index顺延
(?<label>pattern) 5.10后将捕获结果存入%+, 通过$+{label}来获得对应匹配值
\k<label>等效于\g{label},支持(?P=label)写法
$`保存了正则匹配之前的内容,$&保存匹配的整个段落,$'保存匹配结束后的内容, 捕获离的最近的表达式,会有性能问题
{0, 5} 前面元素出现0到5次