正则表达式
. 代表除换行符"\n"之外的任意一个字符,包括数字、字母、汉字、空格等,
.* 匹配除换行符以外的任意字符,\bhi\b.*\bsongmin\b
* 匹配前面的子表达式零次或多次,如:"so*"代表s或soo,等价于{0,}
+ 匹配前面的子表达式一次或多次,如:"so+"代表so或sooo,等价于{1,}
? 匹配前面的子表达式零次或一次,如:"so?"代表s或so,等价于{0,1}
^ 匹配输入字符串的开始位置
$ 匹配输入字符串的结束位置
[] 字符集合,[abc]代表a或b或c,[a-zA-Z]代表a到z或A-Z中的任意一个
[^] [^abc]代表不是a或b或c,[^a-zA-Z]代表不是a到z或A-Z
\ 转义字符,\n代表换行
{n} 非负整数,o{2},可以匹配food,不可以匹配fod
{n,} 至少匹配n次,o{2,},可以匹配fooooood,不可以匹配fod
{n,m} 匹配n到m次,{1,3},可以匹配fooooood,中的前三个o
| x|y 匹配x或y
\b 匹配单词边界,如:er\b可以匹配never中的er,不可以匹配werb中的er,查找hi这个单词可以用\bhi\b
\B 匹配非单词边界,如:er\b可以匹配werb中的er,不可以匹配never中的er
\d 匹配数字,[0-9]任意一个
\D 匹配非数字,[^0-9]
\w 匹配包括下划线的任何单词字符或汉字,[a-zA-Z0-9_]任意一个
\W 匹配非任何单词字符,[^a-zA-Z0-9_]
()
\s 匹配任意的空白符,包括空格、制表符、换行符、中文全角空格等
\S 匹配非空格