定界符 除:字母、数定、\以外都可以,一般使用//原子 在正则表达式中,可以单独使用的字符,都是原子 能打印的(字母、数字、符号),不能打印的(换行、空格) 有特殊意义的符号,要转义+ * ? . ( ) 可以直接使用一些代表范围的原子 \d 任意一个数字 \w 字符 a-zA-Z0-9_ \s 空白字符 空格、\t \n \r \f 大写版本,反过来 自定义原子表 [123] 这是一个原子,只在一个匹配,就成功 [0-9] 中间的"-"表示是一个范围 [^0-9] ^取反,只有^在[]中,才是这个意思 \d [0-9] \D [^0-9] \w [a-zA-Z0-9_] \W [^a-zA-Z0-9_] \s [\r\n\t\f\v ] \S [^\r\n\t\f\v ] . 点 默认情况下,能匹配除换行符以外的任意元字符 是特殊字符,用于修饰原子,不能单独出现 * 被修饰的原子,可有可无 0 1 或多次 + 1或多 至少有一个 ? 要么有,要么没有 0 或1 * --> { 0,} + --> { 1,} ? --> { 0,1} {} 范围{n,m} 最少和最多的个数 ^ 在中括号中表示取反 写在最前面,必须以这个正则表达式开始 $ 写在最后面,表过必须以这个正则表达式结尾 | 或者 \b 边界 \B 非边界 () 改变优先级 作为大原子 *作为子模式使用 ?: 写在括号中,取消子模式 *反向引用 \\1 表过用前面第一个()里的内容 优先级 \ () (?:) [] * + ? {} ^ $ \b | 模式修正符 放在定界符外 一次使用一个 用于对正则调优 i 不区分大小写 m 不加的情况下,字符串作为单行处理,加上会影响到$ U 取消贪婪模式 或者在 .* .+ 的后面加上? 相互取消 s 让.能代表换行符(.默认不能匹配换行符) x 删除正则中间的空格