正则
参考:https://www.runoob.com/regexp/regexp-metachar.html
* 0次或多次。等于{0,}
+ 1次或多次。等于{1,}
? 0次或1次。等于{0,1}。非贪婪匹配模式:跟在其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面,最少的去匹配,默认的贪婪模式则尽可能多的匹配所搜索的字符串。如,字符串 "oooo",'o+?' 将匹配单个 "o",而 'o+' 将匹配所有 'o'。
\w 匹配字母、数字、下划线。等于[A-Za-z0-9_]
\W 匹配非字母、数字、下划线。等于[^A-Za-z0-9_]
\b 匹配单词的首尾。如, 'er\b' 匹配"never" 中的 'er'
\B 匹配单词的中间。如,'er\B' 匹配 "verb" 中的 'er'
\d 匹配一个数字字符。等于[0-9]
\D 匹配一个非数字字符。等于[^0-9]
\s 匹配任何空白字符
\S 匹配任何非空白字符
\n 换行符
\r 回车符