. :代表任意字符。
* :代表0至多个。
+:代表一至多个。
\b:代表单词的开头或结尾。
\B:代表不是单词的开头或结尾
\w:代表数字、字母、下划线、汉字。
\W:代表非数字、字母、下划线、汉字。
\s:代表' '
\S:代表出了' '的任意字符
\d:数字
\D:非数字
^:代表字符串的开始
$:代表字符串的结尾
{n}:出现的次数。
?:重复0次或一次
后+?: 懒惰算法(这个不好描述,看例子)
\bs.*?e\b :这个表达式的意思是以s开头以e 结尾的单词
分析:第一个字符\b代表单词的开头,s 就是字母s,.代表任意字符,*代表0到多个,(重点来了) ?就是表示懒惰的算法,意思是匹配最短的一个,e就是e,\b代表单词的结尾。
例如这个字符串: see ase
上面的表达式会匹配到 'see',如果把问号去掉 就会匹配到'see ase'。
不带问号它会尽可能多的匹配到最长的,带问号就匹配它能匹配到的字符串的最短的一部分。