正则表达式:含有文本和特别字符的字符串
搜索(Search),即在字符串任意部分中查找匹配的模式
匹配(Match),判断一个字符串能否从起始处全部或部分的匹配某个模式。
举例
值: 匹配字符串中的值 foo
| 匹配正则式A或B foo | bar
. 匹配任何字符 b . b
^ 匹配字符串的开始 ^Dear
$ 匹配字符串的结尾 sh $
多次/重复匹配
* 匹配前面出现的正则表达式零次或多次 [A-Z]*
+ 匹配前面出现的正则表达式一次或多次 [a-z] + /
? 匹配前面出现的正则表达式零次或一次 goo?
{N} 匹配前面出现的正则表达式N次 [0-9] {3}
{M,N} 匹配重复出现m次到n次的正则表达式 [0-9]{5.7}
方括号:
[···] 匹配字符组里出现的任意一个字符 b[aeiu]t , 匹配 bat, bet, bit, but
-:[···x-y···] 匹配从字符x到y中的任意一个字符 [A-Za-z]
^:[^···] 不匹配此字符集中出现的 任何一个字符,包括某一范围的字符 [^aeiou]
圆括号:
(...) 匹配括号中的正则表达式 ([0-9] {3})?
特殊字符
\d 匹配任何数字,和[0-9] 一样 ( \D 是 \d 的反义: 任何非数字符) data\d
\w 匹配任何数字字母字符,和[A-Za-z0-9_]相同 (\W 是 \w 的反义) [A-Za-z_]\w+
\s 匹配任何空白符,和 [\n\t\r\v\f] 相同, (\S 是\s 的 反义) of\sthe
\b 匹配单词边界(\B 是 \b 的反义) \bThe\b
\nn 匹配已保存的子组
\ 可以匹配特殊字符,并取消特殊含义 \*
\A(\Z ) 匹配字符串的起始(结束) \ADear