深刻入门正则表达式(java) - 1 - 入门基础

 [size=medium;]1.元字符[/size]

不少人对正则表达式的印象就是乱码。。许许多多的符号组合在一块儿,偶见单词,正则确实是这样的,因此下面咱们要看看这些符号都是什么意思

有些符号不是你们看到的字面上的意思:好比“.”、“!”、“?”……

这些符号就称之为元字符


很遗憾,这些字符的意义必须牢记

注意:本文的全部红色加粗中文引号内的内容均为正则表达式,而不是通常的字符和符号


下面咱们逐一说明

“\”:转义符号,在字符组内依然是元字符。


在检查一行文本时

“^”:脱字符:表示一行的开始

“$”:美圆符号:表示一行的结束


字符组

“[]”:一对中括号,里面能够添加任何内容,好比[hate],括号里面的内容是或者的关系,这个正则的意义是:我想匹配一个字符,这个字符能够是h,能够是a,也能够是t或e。

记住:字符组最终只会匹配一个字符。即便你的目标字符串是hate,那么一次匹配成功的结果也只是第一个字母h,并非整个单词,若是我就想匹配hate这个单词怎么办?很容易,正则内容为“hate”,在字符组外面的字符的关系是“和,而且”的意思。


注意:字符组内的元字符和字符组外的元字符并不同,即便字符同样,表示的意义也未必相同(*)

咱们先学习下一个内容,而后再来给你们解释上面的这句话


“[^]”括号里面以“^”开头,是字符组的否认形式,好比:[^hate]表示:匹配除了h、a、t、e之外的其余字符,依然只会匹配一个字符

以前刚刚学过“^”表示一行的开始,可是脱字符位于[]内的起始位置则表示否认,这也解释了(*)的内容

若是脱字符位于括号内其余位置表示什么呢?那它表示它本身,此时并再也不是一个元字符 正则表达式