正则表达式是一种用于匹配字符串的工具,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正则表达式API
Java提供了Pattern和Matcher两个类来支持正则表达式操作。其中,Pattern类表示正则表达式模式,Matcher类表示匹配结果。下面介绍Pattern类和Matcher类的常用方法。
Pattern类方法
(1)compile(String regex):将正则表达式编译为Pattern对象。
(2)matches(String regex, CharSequence input):用指定的正则表达式匹配输入的字符串。
(3)split(CharSequence input):按照指定的正则表达式将输入的字符串分割成字符串数组。
(4)pattern():返回当前Pattern对象表示的正则表达式模式字符串。
Matcher类方法
(1)matches():判断当前Matcher对象的输入字符串是否完全匹配正则表达式。
(2)find():在当前Matcher对象的输入字符串中查找下一个匹配的子串。
(3)group():返回当前Matcher对象的输入字符串中与上一次find()方法匹配的子串。
(4)start():返回当前Matcher对象的输入字符串中与上一次find()方法匹配的子串的起始位置。
(5)end():返回当前Matcher对象的输入字符串中与上一次find()方法匹配的子串的结束位置。
三、Java正则表达式示例
下面是一些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);
提取URL中的参数
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正则表达式正则表达式是一种用于匹配字符串的工具,Java提供了一套强大的正则表达式API,可以让我们方便地使用正则表达式进行字符串操作。本文将详细介绍
-
当前热讯:花 7 万提高职场竞争力,没想到……毕得了业吗张女士想通过学习,提升自己的职场竞争力。去年9月,她在网上找了一家中介机构,花了70000元,攻读葡萄牙ISCTE-IUL里斯本大学学院(以下简称学
-
热门看点:刚果冲突造成约 1百万人无家可归去年刚果民主共和国东部北基伍省军队与叛军间的持续冲突造成约100万人流离失所。 TRT消息,无国界医生组织发表的一份书面声明指出,刚果民
-
全新MINI电动版实车曝光!延续经典造型,有望明年国产上市 环球精选继smart成功实现转型之后,另一大个性化豪华品牌也正积极推进电动化的工作。日前,笔者从相关渠道获取到了全新MINICOOPEREV的无伪实车谍照。新
-
小马宝莉公主图片 月亮公主救人!_小马宝莉公主图片1、公认是劳伦·浮士德,劳伦公主是小马改进者,发型很像暮光(紫悦),但是是栗子色的,身体为白色,是天角兽,而三次元人性劳
-
文章微博新动态_文章 微博1、第一步:在手机上打开微博,点击微博主页界面右下角的“我”,进入个人主页界面。2、第二步:在个人主页界面点击“粉丝服务
-
クレヨン新ちゃん是什么意思_新遒什么意思-全球观速讯1、●遒qiúㄑㄧㄡˊ◎雄健有力:~劲。2、~健。3、~炼(诗文、书画等雄健精炼)。4、~媚(雄健秀美)。5、◎迫近:“岁忽忽而~尽兮,恐余
-
车贷提前还款怎么办理?违约金一般多少?-百事通因为手中的流动资金不足,现在买房子、买车很多人都会选择贷款。等过一段时间之后,资金回流,部分朋友就想要申请提前还款。大家知道车贷提前
-
2.5升排量车船税多少_2 5排量车船税多少1、2 5排量私家车强制险:第一年:5座950元车船税:720元 年国家汽车强制保险费与车船税私家车强制险:第
-
焦点速读:照片里的你丨好战友,我寄往天堂的信你收到了吗?编前语:当清明的雨骤然落下,总会有一个人让你抑制不住的思念。亲人、故人、心上人,当那个人骤然离去,你的心从此缺掉一块。高清或泛黄的照
-
高频调光+大电池 红米Note12 Turbo低至2249元 天天日报红米Note12Turbo正在京东热销中,目前活动售价2399元,下单参与每满2399元减100元优惠活动,晒单返50元红包,实付低至2249元,近期好价。这款
-
苗银价格今天多少一克_苗银|全球即时看1、苗银乃是古代市面上流通使用的钱币,后经苗族人全手工打造成各类工艺首饰,以及装饰品,随之而流通到市面上来的。2、苗银跟
-
胡琏青天白日勋章 金门莒光楼镇馆之宝战地精神象征的莒光楼是金门重要景点,位于三楼的胡琏将军回顾展,更可以看到难得一见的青天白日勋章,也是这里的镇馆之宝。2012年曾离奇失窃
-
先瑞达医疗(06669.HK):穿越行业周期,彰显“黑马”特质 |最新资讯先瑞达公司丰富的产品线、坚实的技术创新能力和高水平的管理团队等优秀基因或将是市场不容忽视的沧海遗珠。
-
鸡蛋可以祛斑吗要用多久时间_用鸡蛋祛斑的方法步骤_世界视讯1、 白领脸上出现斑点好像已经不稀奇了,很多人还不知道这是什么原因造成的,其实主要是由于工作需要,白领丽人们不得不长时
-
体育总局局长雷霆出击,7人空降足协,蔡振华悬念揭晓-全球时快讯因为记者李璇已经透露,他们只是临时过来协调工作的,所以接下来可以抱有个期待,孙雯和高洪波他们不排除后续有机会接过一把手的位置,可以小
-
当前看点!美媒:油价上涨将加剧美国通胀难题 美政府或感挫败海外网4月4日电多家美媒3日报道,石油输出国组织“欧佩克+”(OPEC+)2日宣布将进一步削减石油产量,原油价格上涨将加剧美国高企的通胀问题...
-
云南蒙自:街舞小伙登上大“舞台” 汇聚家乡发展“新”力量”近日,彝族小伙、云南省蒙自市新联会舞动分会会员阚猛激动地告诉记者。成为蒙自市新联会会员后,阚猛发现自己的“舞台”变得广阔起来。20...
-
普通高等教育十一五国家级规划教材·高等学校管理类专业基础课程教材·企业管理学_对于普通高等教育十一五国家级规划教材·高等学校管理类专业基础课程教材·企业管理学简单介绍 世界观焦点1、《普通高等教育十一五国家级规划教材·高等学校管理类专业基础课程教材·企业管理学》是2009年9月1日高等教育出版社出
-
环球观点:中航汽车团委举行“罗阳青年突击队”授旗仪式中国航空报讯:3月29日,中航汽车团委举行了“罗阳青年突击队”授旗仪式。会议为15支“罗阳青年突击队”进行了授旗。青年代表表示,将大力弘扬“
-
路口随意掉头,两车相撞致一名司机受轻微伤 当前短讯扬子晚报网4月4日讯(记者郭一鹏通讯员尹峥嵘)日常行车中,总有些驾驶人任性而为,随意掉头、任意变道,这些简单粗暴的做法,不仅妨碍其他车
-
天天新资讯:海利得:越南项目目前开工率正逐步提升至接近90%海利得4月3日披露投资者关系活动记录表显示,越南项目目前开工率正逐步提升至接近90%,车用丝产品认证在去年下半年开始是一个加速阶段,今年会
-
MONGOL MINING(00975.HK)授出3325万份购股权_动态【财华社讯】MONGOLMINING(00975 HK)公布,于2023年4月3日,根据其于2021年6月16日采纳的购股权计划,已向若干合资格参与者授出合共
-
每日速看!张继科没有正式宣布退役 但已被国际乒联移除排名【张继科没有正式宣布退役】近日,“有关张继科因借钱欠债及传播女演员隐私视频”的传闻持续发酵。对此,张继科工作室两次发文予
-
盐城:安全规范用基金 守好百姓“看病钱” 精彩看点“今天,我们举办这次活动的目的,就是要加强医疗保障基金监管,坚决打击欺诈骗保行为,营造全社会共同关注并自觉维护医保基金安
-
来国家大剧院聆听一段跨越南北的非遗对话-今日精选来国家大剧院聆听一段跨越南北的非遗对话---这个藏在国家大剧院里顶级审美的“京韵·婺风——非物质文化遗产南北交流展”,荟萃了北京和浙...
-
win10卸载u盘-(win10卸载u盘驱动)win10卸载u盘(win10卸载u盘驱动)用户升级到win10系统后会遇到一些不兼容的问题,一般碰到这种情况只要将驱动程序卸载再重装,下面给大家详细介
-
横沔(关于横沔介绍) 动态1、横沔(HengMian)位于原南汇区西北部,东、北与川沙黄楼、孙桥交界,西北、西南分别与原康桥镇、周浦镇接壤,东沿界浜、南濒七灶港与瓦屑为邻
-
环球滚动:GAN卷土重来:10亿参数的GigaGAN效果堪比扩散模型点蓝色字关注“机器学习算法工程师”设为星标,干货直达!自从DALL·E2之后,在图像生成方面扩散模型替代GAN成了主流方向,比如开源的文生...
-
世界热点!三季度增强现实相关企业营收增幅排行榜(TOP20)三季度增强现实相关企业营收增幅排行榜(TOP20),趋势选股系统财报工具数据整理,截至三季度,增强现实相关企业营收增幅排行榜情况如下(数据