正则表达式
一: 基本字符
- ^ :^会匹配行或者字符串的起始位置,有时还会匹配整个文档的起始位置。
- $ :$会匹配行或字符串的结尾 。
- b :不会消耗任何字符只匹配一个位置,常用于匹配单词边界 ,集匹配单词间的空格。如 ambity\blyf 。即匹配ambity_lyf
- “\d”: 匹配数字。
- 匹配字母,数字,下划线。
- “\s”:匹配空格 。
- “[abc]”: 字符组 匹配包含括号内元素的字符。
- “.”:匹配除了换行符以外的任何字符。
二:限定符
- {n} :n 是一个非负整数。匹配确定的 n 次。例如,‘1{2}’ 不能匹配 212,能匹配111。
- {n,}:n 是一个非负整数。至少匹配n 次。
- {n,m}:m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。
三:其他特殊字符
- *:匹配前面的子表达式零次或多次。要匹配 * 字符,使用 *。
- +:匹配前面的子表达式一次或多次。要匹配 + 字符,使用 +。
- -:匹配除换行符 \n 之外的任何单字符。要匹配 . ,使用 . 。
- [:标记一个中括号表达式的开始。要匹配 [,使用 [。
- ?:匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,使用 ?。
- |:指明两项之间的一个选择。要匹配 |,请使用 |。
四:字符串匹配
1.日期yyyymmddhhmmss 匹配
“((([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})(((0[13578]|1[02])(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)(0[1-9]|[12][0-9]|30))|(02(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))0229))([0-1][0-9]|2[0-3])([0-5][0-9])([0-5][0-9])$”