正则表达式是一种用于匹配字符串的工具,Java提供了一套强大的正则表达式API,可以让我们方便地使用正则表达式进行字符串操作。本文将详细介绍Java正则表达式的使用方法,包括语法、常用方法、示例等内容。
在Java中,正则表达式使用的是Perl 5语法。正则表达式由普通字符和特殊字符组成,普通字符就是字母、数字和一些特殊字符,特殊字符有特殊的含义,用于描述一些复杂的匹配规则。
(相关资料图)
普通字符就是指除特殊字符以外的字符,它们在正则表达式中表示它们本身。例如,正则表达式中的字母和数字表示它们本身,例如正则表达式 "abc123" 匹配的是字符串 "abc123"。
在正则表达式中,特殊字符用于表示一些特定的含义,例如:
(1)单个字符匹配
. :表示匹配任意一个字符,不包括换行符。
[] :表示匹配其中任意一个字符。
^ :表示匹配除了指定字符以外的任意一个字符。
\d :表示匹配任意一个数字,等价于[0-9]。
\D :表示匹配任意一个非数字,等价于[^0-9]。
\w :表示匹配任意一个字母或数字或下划线,等价于[a-zA-Z_0-9]。
\W :表示匹配任意一个非字母或数字或下划线,等价于[^a-zA-Z_0-9]。
\s :表示匹配任意一个空格字符,包括空格、制表符和换行符。
\S :表示匹配任意一个非空格字符。
(2)重复匹配
:表示匹配前面的字符0次或多次。:表示匹配前面的字符1次或多次。? :表示匹配前面的字符0次或1次。
{n} :表示匹配前面的字符恰好n次。
{n,} :表示匹配前面的字符至少n次。
{n,m} :表示匹配前面的字符至少n次,最多m次。
(3)位置匹配
^ :表示匹配字符串的开头。
$ :表示匹配字符串的结尾。
\b :表示匹配单词边界。
\B :表示匹配非单词边界。
Java提供了Pattern和Matcher两个类来支持正则表达式操作。其中,Pattern类表示正则表达式模式,Matcher类表示匹配结果。下面介绍Pattern类和Matcher类的常用方法。
(1)compile(String regex):将正则表达式编译为Pattern对象。
(2)matches(String regex, CharSequence input):用指定的正则表达式匹配输入的字符串。
(3)split(CharSequence input):按照指定的正则表达式将输入的字符串分割成字符串数组。
(4)pattern():返回当前Pattern对象表示的正则表达式模式字符串。
(1)matches():判断当前Matcher对象的输入字符串是否完全匹配正则表达式。
(2)find():在当前Matcher对象的输入字符串中查找下一个匹配的子串。
(3)group():返回当前Matcher对象的输入字符串中与上一次find()方法匹配的子串。
(4)start():返回当前Matcher对象的输入字符串中与上一次find()方法匹配的子串的起始位置。
(5)end():返回当前Matcher对象的输入字符串中与上一次find()方法匹配的子串的结束位置。
下面是一些Java正则表达式的示例:
String regex = "^1[3-9]\d{9}$"; String phoneNum = "18812345678"; boolean isMatch = Pattern.matches(regex, phoneNum);
String regex = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$"; String email = "test@example.com"; boolean isMatch = Pattern.matches(regex, email);
String regex = "^\d{17}[0-9Xx]$"; String idCardNum = "420821199001011234"; boolean isMatch = Pattern.matches(regex, idCardNum);
String url = "http://example.com/?id=123&name=张三"; Pattern pattern = Pattern.compile("(?<=\?|&)\w+=[^&]+"); Matcher matcher = pattern.matcher(url); while (matcher.find()) { System.out.println(matcher.group()); }
以上是Java正则表达式的简单示例,通过学习正则表达式的语法和API,可以更加灵活地运用正则表达式解决实际问题。
标签:
正则表达式是一种用于匹配字符串的工具,Java提供了一套强大的正则表达式API,可以让我们方便地使用正则表达式进行字符串操作。本文将详细介绍
自从智能手机出现以来,它已经成为我们生活的一部分。事实上,如今大家都坐在家里,智能手机已经成为了每个人的生活,而不仅仅是
今天,大学路小编为大家带来了甘肃独立大学最新排名内蒙古农林类二本大学最新排名,希望能帮助到广大考生和家长,一起来看看吧!2018甘肃独立
寻艺小程序代言资讯|新媒体数据欢迎点击查看~谁不会被陈晓所惊艳到啊!年代情感剧《人生之路》正在热播。这部剧改编自路遥的小说《人生》,以
38岁老詹最后30秒接管比赛 詹姆斯上篮准绝杀 北京时间4月5日,NBA常规赛湖人加时赛135比133险胜犹他爵士队,取得4连胜,而爵士队遭遇3连败,同
今天来聊聊关于好莱坞影院在哪里,好莱坞影院的文章,现在就为大家来简单介绍下好莱坞影院在哪里,好莱坞影院,希望对各位小伙伴
智通财经APP讯,盐湖股份(000792 SZ)发布公告,截至2023年3月31日,公司通过回购专用证券账户以集中竞价交
明天就是一年一度的清明节,清明节是传统祭祀的节日。清明节前后,雨水比较多,万物生长,树上长出嫩绿的叶子,野草都充满生机,这时候的艾叶
作为一名老师,常常要根据教学需要编写教案,教案是教学活动的依据,有着重要的地位。优秀的教案都具备一些什么特点呢?又该怎么写呢?以下我
收入不足以维持日常开销和创作成本,UP主们不得不面对选择停更或者退出自媒体行业的困境。今年以来,对于各家企业来说,大家都处于相对日子不
原标题:来!跟着“吉林一号”一起踏青寻春芳原绿野恣行时,春入遥山碧四围。近期,“吉林一号”卫星从太空传回了云南宜良山后樱
为数字经济发展注入资金“活水”
全世界都知道,香烟中含有大量危害身体健康的毒素,同时,世界各地的公共场所都会张贴“禁止吸烟”的告示牌。还有公益广告和城市宣传墙,告...
西甲联赛6次冠军得主、赛前排名倒数第二的蝙蝠军团瓦伦西亚队迎来了西甲第27轮的较量,瓦伦西亚队此役坐镇自己的主场PK赛前排名第8的巴列卡诺
在使用秀米编辑图文时,想要添加视频,但却不知道在哪里添加,如何添加视频,为此,本篇介绍以下方法,希望可以帮助到你。电脑打开秀米,往下
清明到了,霞浦人一起相约去讨光饼吧!
直播吧4月4日讯接受DAZN记者采访时,卡纳瓦罗透露伊布曾差点加盟那不勒斯。卡纳瓦罗表示:“我和伊布曾在那不勒斯的街头骑Vespa,这是真的。伊
一、成都伤残待遇申领费用是多少不需要收费,流程如下:1、工伤职工劳动能力鉴定结论下达后,用人单位到医保经办机构办理;2、市劳动和社会保障
答:开放。贵州科技馆2023年清明节开放公告各位观众:2023年“清明”节假期(4月5日),贵州科技馆正常开放,4月6日起,恢复常规开放。请关注
新华社北京4月4日电美国共和党籍前总统唐纳德·特朗普3日从其佛罗里达州住所海湖庄园出发,乘坐私人飞机抵达纽约市,准备次
托来源:广西日报回南天的“福”广西这几天衣服越晒越潮地板墙壁频频“出汗”广西不少友仔友女心情也好不起来……回南天,窗户水汽蒙蒙。莫...
网贷逾期怎么防止通讯录被爆1 尽快还款:最简单、有效的方法就是尽
黑石集团700亿美元体量的房地产投资信托基金在3月份收到了45亿美元的赎回请求,较2月增加了15%。
(文图 陈申芝))4月3日上午,乐山师范学院、美姑县人民政府“一对一”精准帮扶工作座谈会在弘毅楼207会议室召开。学校党委常委、副校长...
参考消息网4月4日报道据日本《读卖新闻》4月4日报道,日本政府对作为政府开发援助(ODA)方针的《开发合作大纲》作出修订,今后将采取“提供型OD
如果解决不了人才断档的问题,国乒不仅要面对近忧还要面临远虑。有趣的是,在这一点上李永波和徒弟林丹不谋而合,在退役之后,林丹也成立了自
西台吉乃尔湖位于柴达木盆地的青海省海西州大柴旦境内,属于硫酸镁亚型盐湖。G315国道从湖面穿过,将湖水一分为二,一半碧绿
3月28日,中国太平(0966 HK)发布2022年全年业绩。2022年实现总保费收入达2650亿港元,同比增长0 9%,人民币口径下增长4 6%。归母净利润27 97亿
福建省政府发布一批人事任免
2023年江西专科院校排名靠前的院校有九江职业技术学院、江西应用技术职业学院、江西交通职业技术学院等。位次在填报志愿时有很大作用,可以作
Copyright © 2015-2032 华西服装网版权所有 备案号:京ICP备2022016840号-35 联系邮箱: 920 891 263@qq.com