前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >正则表达式符号的应用举例

正则表达式符号的应用举例

作者头像
OECOM
发布2020-07-01 18:11:02
8240
发布2020-07-01 18:11:02
举报
文章被收录于专栏:OECOMOECOM

在上一篇文章中介绍了正则表达式的匹配字符时所用到的符号所代表的意思。下面我来说一下具体的例子。

先说一下他的写法:在书写正则表达式的时候最好能够分开来写,虽然说写在一起也可以,但是这样有时候会降低效率。

代码语言:javascript
复制
Pattern p = Pattern.compile{"[a-z]{3}"};
Matcher m=p.macther("abc");
boolean x=m.matches();

先将匹配规则初始化,第一行代码的意思是说匹配规则为字符串中有三个字符,这三个字符均为a-z中的字符,如果第二行代码中输入的字符串符合这个规则,那么第三行代码的x值应该为true,反之为false。如果说将这三行代码合并起来写,应该是:"abc".matches("[a-z]{3}");这里的大括号里写的是出现的次数。

例如:X{m}代表正好出现m次,X{m,}代表至少出现m次,至多无限,X{m,n}代表x至少出现m次,至多n次

a.matches("...");匹配a字符串是否为三个字符组成,其中每个点代表一个字符。

正则表达式中的规则不一定全都是符号,也可以是字符,例如"aa".matches("aa"); 的返回值也是true

"aaa".matches("a*");  其中*代表0个或多个a。 这行代码的意思是说匹配规则为字符串有0个或多个a字符组成。

"aaaa".matches("a?");其中?代表0个或1个a 。这行代码的意思是说匹配规则为字符串有0个或1个a字符组成。

这里有这样一个例子:"192.168.0.aaa".matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}")。这个匹配规则为字符串前面为1-3个数字,后面跟一个点,在后面又是1-3个数字,然后又是点,又是1-3个数字,然后一个点,又再是1-3个数字。再这个字符中前面的规则的符合,他最后为aaa三个字符,所以匹配不正确,返回值为false。

再看下面这个例子:"192".matches("[0-2][0-9][0-9]");代表三个数分别为0-2,0-9,0-9。此字符串的返回值为true。

x.matches("^h.*");规则为开头的第一个字符为h,后面跟着一个字符,再后面跟着0个或多个字符

x.matches(".*ir$")表示以ir结尾,前面有多个字符

x.matches("^h[a-z](1,3)o\\b.*")表示以h开头,中间是以a-z出现1-3次后面跟着一个o,再后面为单词边界(单词边界为空格,各种各样特殊字符,换行等等)。

其他的例子我就不在一一列举了,如果大家对正则表达式符合代表什么意思,可以查看上一篇文章正则表达式代表的意义

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档