您的位置:首页 > 编程语言 > Java开发

Java正则表达式详解

2017-05-13 17:33 253 查看

正则表达式简介:

1.正则表达式最早在Linux下发展起来的,JDK1.4开始正式引入java中

2.JDK1.4后引入了一个java.util.regex开发包,其中包含
Pattren类
Matcher类


3.Pattern类:定义并且编译正则的匹配模板 Matcher类:匹配应用 在JDK1.4之后的String类更为常用

4.对于String类的验证使用正则表达式更加方便

正则表达式基础知识:

1.


2.
句点符号
(句点符号匹配所有字符,包括空格、Tab字符甚至换行符):



3.
方括号符号
(在方括号之内你只能匹配单个字符):



4.
“或”符号
不能使用方扩号,方括号只许匹配单个字符,这里必须使用圆括号“()”:



5.
表示匹配次数的符号:


表一显示了表示匹配次数的符号,这些符号用来确定紧靠该符号左边的符号出现的次数:



如:999-99-9999,用来匹配它的正则表达式如图一所示。在正则表达式中,连字符(“-”)有着特殊的意义,它表示一个范围,比如从0到9。因此,匹配社会安全号码中的连字符号时,它的前面要加上一个转义字符“\”:



假设进行搜索的时候,你希望连字符号可以出现,也可以不出现——即,999-99-9999和999999999都属于正确的格式。这时,你可以在连字符号后面加上“?”数量限定符号,如图二所示:



下面我们再来看另外一个例子。美国汽车牌照的一种格式是四个数字加上二个字母。它的正则表达式前面是数字部分“[0-9]{4}”,再加上字母部分“[A-Z]{2}”。图三显示了完整的正则表达式:



6.
“否”符号:


“^”符号称为“否”符号。如果用在方括号内,“^”表示不想要匹配的字符。例如,图四的正则表达式匹配所有单词,但以“X”字母开头的单词除外:



7.
圆括号和空白符号:


假设要从格式为“June 26, 1951”的生日日期中提取出月份部分,用来匹配该日期的正则表达式可以如图五所示:



新出现的“\s”符号是空白符号,匹配所有的空白字符,包括Tab字符。如果字符串正确匹配,接下来如何提取出月份部分呢?只需在月份周围加上一个圆括号创建一个组,然后用
ORO API
提取出它的值修改后的正则表达式如图六所示:



8.
其它符号(正则表达式的快捷符号):


为简便起见,你可以使用一些为常见正则表达式创建的快捷符号。如表二所示:



例如,在前面社会安全号码的例子中,有出现“[0-9]”的地方我们都可以使用“\d”。修改后的正则表达式如图七所示:



9.
转义字符的使用:


正则表达式中的特殊字符,就是一些有特殊含义的字符,简单的说就是表示任何字符串的意思,如:

\:例如:‘n' 匹配字符 ‘n','\n' 匹配换行符,序列 ‘\\' 匹配 “\”,而 ‘\(' 则匹配 “(”等等........
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: