规则 从字符串找出符合规则的内容
字符组 : [] 括号里的内容都是符合规则的
[0-9],[6-8]小到大,[a-z]匹配小写,[A-Z],[d,g],[a-zA-Z]匹配大小写[a-z5-8_]匹配小写数字下划线
元字符转义字母相关的字符 特殊意义
\w 匹配数字字母下划线word 关键字
\d 匹配数字[0-9]digit
\s 匹配所有空格 制表符\t 回车\n 换行 space
\W 匹配非数字字母下划线
\D 取反 非数字
\S 取反 非空白
[\s\S] \D\d \w\W 取全集
\b 表示单词的边界 ing\d 以ing结尾的 \dl 以l开头的
. 匹配换行符以外的东西
^ $
^表示字符串的开始 ^hello
$ dollar 字符串的结束符 hello$
[]字符组
[^]非字符组 只要不出现在中括号里的都可以匹配 [^\d]非数字
| 或 a|b 一般要求比较苛刻或者比较长的规则写在前面,从左往右匹配
放字符组里现原形 . | [] ()分组
量词
{n}量词,只约束前面元字符 \d{9} 出现9个数字
{n,}至少出现9次
{n,m}出现n-m次
?匹配量词之前的字符出现0次或者1次 表示可有可无
+ 匹配量词之前的字符出现1次或者多次
* 匹配量词之前的字符出现0次或者多次
匹配正整数 \d+
匹配小数 \d+\.\d+
匹配小数或者整数 \d+\.\d+|\d+ \d+\.?\d+ \d+{\.\d+}?分组同时约束元字符
贪婪匹配 在允许的范围内匹配最长的结果
回溯算法
非贪婪匹配,惰性 在量词之后加? \d+?8 \d+数字至少出现1次 ?最多出现1次 遇到8停止
.*?x 匹配任意非换行符任意次,直到出现x才停止