首页 > 编程语言 > 详细

Java --正则表达式

时间:2015-10-30 19:06:47      阅读:232      评论:0      收藏:0      [点我收藏+]

最近处于工程尾期,抽出点时间来学习下工程中用到的知识点。

1.正则表达式作用:

它使用单个字符串来描述、匹配一系列符合某个语法规则的字符串。

举例:在很多文本编辑器里,正则表达式被用来检索、替换某些文字或字符串。

注意:当正则表达式和字符串函数都能解决问题时,尽量使用字符串函数,这样不容易出错,最重要的一点是字符串函数比正则表达式实现性能上要好得多。

2.正则表达式使用原因:

可以这么说,正则表达式能实现的,都能通过编程来实现,那么我们为什么还需要学习正则表达式呢?原因如下:

1>正则表达式能够在很大程度上简化编程实现的代码

2>用正则表达式去处理字符串,代码更容易理解

3>通常来说,正则表达式的速度远比自己写逻辑代码来实现功能要高得多(除非有现成的方法或者函数)

3.正则表达式构成

正则表达式由 文件字符 和 元字符 构成。文本字符即是用户需要匹配的内容;元字符是正则表达式中具有特殊意义的专用字符,它用来指定匹配规则。

4.基础正则表达式

. 与 [ ] 与 ^ 与 $ ,这四个称之为基础正则表达式,所有语言都支持这四个。正则表达式等价理解:

?,*,+,\d,\w都是等价字符

? 等价于 重复0次或者1次

* 等价于 重复0次或者多次

+ 等价于 重复1次或者多次

\d 等价于 [0-9]

\w 等价于 [A-Z或a-z或0-9或_或其它字符]

{n} 重复n次

{n,m} 重复n到m次

. 匹配除换行符以外的任意字符

\s 匹配任意的空白符

[ ] 包含,默认一个字符长度

[^]不包含,默认一个字符长度

[A-Za-z0-9] 26个大写字母、26个小写字母和0-9数字 中的一个

常用运算符与表达式

^ 匹配字符串开始

$ 匹配字符串结束

5.正则表达式语法与释义

基础语法  "^([ ]{})([ ]{})([ ]{})$"

正则字符串 = "开始 ([包含内容]{长度}) ([包含内容]{长度}) ([包含内容]{长度}) 结束"

6.正则表达式常见应用

1>验证用户名,要求

1.规定用户名第一个字符必须是字母

2.用户名长度为6到16位

正则表达式:("^[a-zA-Z]\w{5,15}$")

解释:

[a-zA-Z]  表示26+26个大小写字母中的一个,满足条件1(第一个字符必须是字符)

\w  表示字母或数字或下划线或其它字符

{5,15}  指定\w的长度为5位到15位之间,同时满足条件2(用户名长度在6到16位)

2>验证手机号码,要求

1.位数为11位

2.第一位必须是1

3.第2位在(3,4,5,7,8)这几个数字中选择一位

正则表达式:("^1[3|4|5|7|8][0-9]\\d{8}$")

疑惑,我的写法如下,不知道行不

("^1[3|4|5|7|8][0-9]{9}$")

刚测试了下,是可行的

3>验证身份证号码,这里只针对18位的

("^[1-9]{17},[0|1|x]{1}$")

结束,举了这么多的例子,查看者应该看懂了

//参考文章

http://deerchao.net/


Java --正则表达式

原文:http://my.oschina.net/u/2312022/blog/524138

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!