正则表达式 传智播客学习

有了一点点小小成就,五子棋游戏的基本功能已经实现的差不多了,还需要进行部分代码优化,期待明天的到来,因为明天我就可以实现我一个梦想,那就是晚上自己开发的游戏,呵呵!学在其中,乐在其中!下午实在有些腰酸背痛,决定就近去爬山,经过商议决定去百望山森林公园,真的是好久没锻炼了,才两百多米的山爬完回来累的不行,不过也算是感受了一下大自然的风情,站在山顶的感觉真的很不错,看着山下风景,突然感觉自己好渺小,这座城市如此之大,何时何处才是我安身之处?努力,我相信在不远的未来,我相信我的选择。吃过晚饭,看着张孝祥老师的Servlet的视频,对Servlet进行了基础的预习。下面对今天的学习成果和大家分享。

1.什么是正则表达式

一个正则表达式,就是用某种模式去匹配一类字符串的一个公式。个人觉得就是一个字符构成的串,它定义了一个用来搜索匹配字符串的模式。

2.正则表达式在字符串中的应用

备注:由于基本规则比较简单,而且API中以及网络上都有就不详解了,下面主要总结下在字符串中的应用

正则表达式主要作用于字符串,功能有匹配,搜索,切割,替换

1) 匹配

这里主要通过String类的mathes方法实现,只要将定义好的正则表达式作为参数传入即可。

例:匹配字符串"123456789012345"是否是QQ号码

String qq = "123456789012345";

String qqreg = "[1-9]\\d{4,14}";

System.out.print(qq.matches(qqreg ));

2) 搜索

建立正则规则,将规则封装成对象(Pattern的compile),作用于字符串(Matcher),返回匹配器,利用匹配器作用字符串,找出需要的字符串)

例:取出字符串"ming tian wu zi qi jiu kai fa wan le !"两个字母的单词

String text = "ming tian wu zi qi jiu kai fa wan le !!";

String textreg = "\\b[a-z]{2}\\b";//取出两个字母组成的单词;

Pattern p = Pattern.compile(textreg);//将正则规则封装成对象。

Matcher m = p.matcher(text);//通过正则对象获取匹配器。意为:让规则作用到字符串上。while(m.find())

System.out.println(m.group());

3) 切割

通过split方法实现

例:将字符串

复制代码 代码如下:

String str = "sazzdkqqqqlfooojsz";

String strreg = "(.)\\1+";//"\\.";

String[] arr = str.split(strreg);

for(String s : arr)

{

System.out.println("s="+s);

}

4) 替换

通过字符串的repalceAll方法实现

例:将"10.10.10.10 192.168.105.22 1.1.1.1 2.2.2.2 211.68.43.254"按网段存放

String ip = "10.10.10.10 192.168.105.22 1.1.1.1 2.2.2.2 211.68.43.254";

ip = ip.replaceAll("(\\d+)","00$1");//在每一段的前面补两个0.

ip = ip.replaceAll("0+(\\d{3})","$1"); //只保留每一段的最后三位。

String[] ipArr = ip.split(" ");

TreeSet<String> ts = new TreeSet<String>();//因为ip地址很多,需要使用容器存放,而且需要排序,TreeSet

for(String i : ipArr){ts.add(i);}

for(String i : ts){System.out.println(i.replaceAll("0*(\\d+)","$1"));}

3.常用正则表达式

1) 匹配空白行的正则表达式:\n\s*\r

2) 匹配首尾空白字符的正则表达式:^\s* ¦\s*$

3) 匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

4) 匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*

5) 匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA- Z0-9_]{4,15}$

6) 匹配中国邮政编码:[1-9]\d{5}(?!\d)

7) 匹配身份证:\d{15} ¦\d{18}

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

时间: 2024-09-18 16:42:37

正则表达式 传智播客学习的相关文章

正则表达式 传智播客学习_正则表达式

有了一点点小小成就,五子棋游戏的基本功能已经实现的差不多了,还需要进行部分代码优化,期待明天的到来,因为明天我就可以实现我一个梦想,那就是晚上自己开发的游戏,呵呵!学在其中,乐在其中!下午实在有些腰酸背痛,决定就近去爬山,经过商议决定去百望山森林公园,真的是好久没锻炼了,才两百多米的山爬完回来累的不行,不过也算是感受了一下大自然的风情,站在山顶的感觉真的很不错,看着山下风景,突然感觉自己好渺小,这座城市如此之大,何时何处才是我安身之处?努力,我相信在不远的未来,我相信我的选择.吃过晚饭,看着张孝

传智播客学习之JavaScript基础篇_基础知识

一.JavaScript与java的区别 1.JavaScript是Netscape公司的产品,Java是Sun公司的产品. 2.JavaScript是基于对象,Java是面向对象. 3.JavaScript只需解释就可以执行,Java需要先编译成字节码文件,再执行. 4.JavaScript是弱类型,Java是强类型. 小结:其实java与JavaScript除了名字上有些像以外,然后JavaScript借用了部分java思想外,其余别的几乎没有什么关系. 二.如何将JavaScript与Ht

传智播客学习之java 反射_javascript技巧

此外,毕老师为我们讲解了反射机制,虽然以后我们在开发过程中,不一定会涉及反射,但是反射确实java一种强大的工具,它使我们能够创建灵活的代码,这些代码可以在运行时装配,无需在组件之间进行源代表链接.例如在Tomcat类加载器这种机制被很多框架所使用. 一.什么是反射 反射的概念是由Smith在1982年首次提出,主要是指程序可以访问.检测和修改本身状态行为的一种能力.反射是java程序开发语言的特征之一,它也允许运行中的 Java 程序对自身进行检查,或者说"自审",并能直接操作程序的

想去传智播客上.net就业班。请问有没有人去学过怎么样?

问题描述 如题,我想去传智播客学习.net上就业班,请问有没有人去学习过怎么样?好不好,你们出去了工资一般是多少? 解决方案 解决方案二:没去过啊如果你有文凭可以进去学技术解决方案三:加个QQ呀~我也打算去上.NET就业班~不过要等到10月份~解决方案四:我觉得应该有点效果....解决方案五:感觉可能都差不多吧,关键看自己,去上课只是辅助.解决方案六:该回复于2012-10-22 23:09:26被版主删除解决方案七:该回复于2012-10-22 23:09:26被版主删除解决方案八:感觉不靠谱

IBM联手传智播客 落地大数据应用人才培养计划

日前,传智播客.北京红象云腾系统技术有限公司.北京红旗软件公司.苏州中太服务器有限公司以及IBM公司,宣布启动"百校千企"产学一体化-大数据应用人才培养联盟计划.IBM作为OpenPOWER基金会发起成员企业,积极推动了该大数据应用人才培养计划的启动. 该计划旨在联合产业.专业教育机构以及高等院校的力量,以学校为主体.以课程为核心.以云计算技术为支撑.以实战应用为目标.以合作企业为依托,多维资源整合发力,打造系统化的大数据人才培养体系.从而为院校提供切实可行的大数据人才培养解决方案,包

跪求传智播客.net 就业班视频

问题描述 有的大虾直接联系我,QQ280091954是要真能下载的,忽悠的别来哈条件好商量 解决方案 解决方案二:哪个BT可以下载的,我挂了20多天,终于下载完了.解决方案三:该回复于2012-08-16 08:46:20被版主删除解决方案四:给我一份啊,496781584@qq.com解决方案五:同求2268259674@qq.com跪求共享解决方案六:我也要782282738·qqcom.解决方案七:?真的那么好的视频?讲的啥东西来着?怎么写代码?思想?应用?以前看过些NET的视频都感觉浪费

怎么传智播客把他们上课的视频发到网上供大家下载?不影响招生?

问题描述 应该会有很多人都去网上下视频了自学了,为什么还会有人去他们那培训呢? 解决方案 解决方案二:盗版windows那都是也不影响windows销售解决方案三:在现场跟视频能比?为啥你要上学?解决方案四:视频的质量很差.根本就不想看.解决方案五:那个是钓鱼的诱饵,引你上勾的.类似的还有以前有人上门送一小包护肤品给你试用,就是想让你买他们的产品.解决方案六:LZ就是个托,看看他发的帖和回帖就知道了最近在CSDN老看到"喘痣波疴"这几个字,真他么烦,也该打击打击广告.软文了解决方案七:

传智播客团报(北京)九月三号java基础与加强班

问题描述 有意去北京传智播客,九月三号java基础班与强化班培训的朋友请联系我,QQ:243524475;(请注明传智团报哈).Tel:15856887192团报有优惠哦!我准备是九月三号去上课,大家认识一下三人一起团报每人还能减免五百元,还能互相帮助学习...希望有愿意培训的朋友及时联系我啊!

关于传智播客的疑惑,请有经验的朋友解答

问题描述 本人大三了,在北京,想找一家培训机构学习java,在CSDN上好像都说传智不错,我也去试听过一次,感觉讲的也一般,而且培训时间是五个半月,一个班50多人,主讲老师还在北京广州成都均受,是不是说也许我报的那个班上课时主讲老师有可能不在北京上课?北京的比较有名的培训机构我都去试听过了,达内,蓝点,java私塾,普科,现在完全乱了,都不知道该选哪家,有经验的朋友能不能说下,选培训机构都注意些什么一个班的学员是多点好还是少点好,是全天都授课好还是只讲半天的好,培训机构的项目都是怎么讲的真的希望