网易首页 > 网易号 > 正文 申请入驻

Java正则表达式教程的学习

0
分享至

什么是正则表达式?动力节点小编来告诉你

正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。Java正则表达式和Perl的是最为相似的。

Java正则表达式的类在 java.util.regex 包中,包括三个类:Pattern,Matcher 和 PatternSyntaxException。

Pattern对象是正则表达式的已编译版本。他没有任何公共构造器,我们通过传递一个正则表达式参数给公共静态方法 compile 来创建一个pattern对象。

Matcher是用来匹配输入字符串和创建的 pattern 对象的正则引擎对象。这个类没有任何公共构造器,我们用patten对象的matcher方法,使用输入字符串作为参数来获得一个Matcher对象。然后使用matches方法,通过返回的布尔值判断输入字符串是否与正则匹配。

如果正则表达式语法不正确将抛出PatternSyntaxException异常。

让我们在一个简单的例子里看看这些类是怎么用的吧

package com.journaldev.util;import java.util.regex.Matcher;import java.util.regex.Pattern;public class RegexExamples { public static void main(String[] args) { // using pattern with flags Pattern pattern = Pattern.compile("ab", Pattern.CASE_INSENSITIVE); Matcher matcher = pattern.matcher("ABcabdAb"); // using Matcher find(), group(), start() and end() methods while (matcher.find()) { System.out.println("Found the text \"" + matcher.group() + "\" starting at " + matcher.start() + " index and ending at index " + matcher.end()); } // using Pattern split() method pattern = Pattern.compile("\\W"); String[] words = pattern.split("one@two#three:four$five"); for (String s : words) { System.out.println("Split using Pattern.split(): " + s); } // using Matcher.replaceFirst() and replaceAll() methods pattern = Pattern.compile("1*2"); matcher = pattern.matcher("11234512678"); System.out.println("Using replaceAll: " + matcher.replaceAll("_")); System.out.println("Using replaceFirst: " + matcher.replaceFirst("_")); }}

既然正则表达式总是和字符串有关, Java 1.4对String类进行了扩展,提供了一个matches方法来匹配pattern。在方法内部使用Pattern和Matcher类来处理这些东西,但显然这样减少了代码的行数。

Pattern类同样有matches方法,可以让正则和作为参数输入的字符串匹配,输出布尔值结果。

下述的代码可以将输入字符串和正则表达式进行匹配。

String str = "bbb";System.out.println("Using String matches method: "+str.matches(".bb"));System.out.println("Using Pattern matches method: "+Pattern.matches(".bb", str));

所以如果你的需要仅仅是检查输入字符串是否和pattern匹配,你可以通过调用String的matches方法省下时间。只有当你需要操作输入字符串或者重用pattern的时候,你才需要使用Pattern和Matches类。

注意由正则定义的pattern是从左至右应用的,一旦一个原字符在一次匹配中使用过了,将不会再次使用。

动力节点java培训:http://www.bjpowernode.com/

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
最危险的信号:莫斯科物价飙涨,大规模反战游行酝酿中

最危险的信号:莫斯科物价飙涨,大规模反战游行酝酿中

魔幻故事
2024-11-29 09:22:00
淮安数名窃贼凌晨开车撞开店门,盗走茅台等大量名酒,警方:已抓获

淮安数名窃贼凌晨开车撞开店门,盗走茅台等大量名酒,警方:已抓获

极目新闻
2024-11-29 15:47:00
基辅35架轰炸机轰炸,国际机场爆炸,国防大楼高层154人被斩

基辅35架轰炸机轰炸,国际机场爆炸,国防大楼高层154人被斩

星辰故事屋
2024-11-29 12:01:41
会是这13人之一吗?博主:某王姓前国脚被带走调查

会是这13人之一吗?博主:某王姓前国脚被带走调查

懂球帝
2024-11-29 14:17:19
梅德韦杰夫升职,普京下台?俄同意无条件和谈,中方必须备战了

梅德韦杰夫升职,普京下台?俄同意无条件和谈,中方必须备战了

猫小狸同学
2024-11-29 12:50:03
俄罗斯与朝鲜加强军事合作 外交部回应

俄罗斯与朝鲜加强军事合作 外交部回应

财联社
2024-11-29 16:28:08
卢布停止换汇,我当以俄为鉴!

卢布停止换汇,我当以俄为鉴!

家传编辑部
2024-11-29 10:45:51
谢霆锋罕见接大儿子放学,穿全身黑很低调,基因强大模样太神似

谢霆锋罕见接大儿子放学,穿全身黑很低调,基因强大模样太神似

南城无双
2024-11-29 00:22:18
优衣库事件。

优衣库事件。

贴小君
2024-11-29 10:51:45
柳叶刀子刊:高福院士团队发布中国最大规模“新冠后遗症”调查报告

柳叶刀子刊:高福院士团队发布中国最大规模“新冠后遗症”调查报告

生物世界
2024-11-29 11:59:18
前篮球运动员许诺被指“擦边”,穿黑丝袜打球,还穿旗袍露大腿

前篮球运动员许诺被指“擦边”,穿黑丝袜打球,还穿旗袍露大腿

180°视角
2024-11-29 13:55:21
小县城近10亿卖“天”,开了一个不好的头

小县城近10亿卖“天”,开了一个不好的头

冰川思想库
2024-11-29 12:07:08
卢布一度遭遇恐慌性抛售!普京最新发声

卢布一度遭遇恐慌性抛售!普京最新发声

每日经济新闻
2024-11-29 08:07:22
中央决定:王浩任中国信保党委书记

中央决定:王浩任中国信保党委书记

新京报
2024-11-29 15:34:31
2025年央视春晚主题发布

2025年央视春晚主题发布

新京报
2024-11-29 12:16:19
破防了!早上10点的星巴克,坐满了没有点任何咖啡的中年男人!

破防了!早上10点的星巴克,坐满了没有点任何咖啡的中年男人!

这班我上够了
2024-11-26 14:30:03
突发!俄罗斯遭大规模空袭

突发!俄罗斯遭大规模空袭

每日经济新闻
2024-11-29 11:39:43
上海两区今晨跌破冰点!下周直冲18℃,入冬暂停了?官方回应→

上海两区今晨跌破冰点!下周直冲18℃,入冬暂停了?官方回应→

鲁中晨报
2024-11-29 12:12:09
俾路支解放军有一个跟中国过不去的理由,那就是中国带来的繁荣!

俾路支解放军有一个跟中国过不去的理由,那就是中国带来的繁荣!

星辰故事屋
2024-11-29 11:17:33
网友:秦雪,击剑运动员,性感网红,粉丝百万! 建议拉黑管晨辰

网友:秦雪,击剑运动员,性感网红,粉丝百万! 建议拉黑管晨辰

火山诗话
2024-11-29 11:47:34
2024-11-29 17:11:00
动力节点Java培训
动力节点Java培训
动力节点专注Java培训事业
1365文章数 36关注度
往期回顾 全部

科技要闻

2024新一代AI(深圳)创业创新大赛决赛

头条要闻

财评中心"一把手"把下属当私人管家:帮买纸巾办寿宴

头条要闻

财评中心"一把手"把下属当私人管家:帮买纸巾办寿宴

体育要闻

中国足球需要什么样的舆论环境

娱乐要闻

内娱又有嫖娼瓜!年仅20岁还在做偶像

财经要闻

专家建议将农民基础养老金提升至每月500

汽车要闻

问界M7今年累计交付量已突破18万辆

态度原创

房产
数码
时尚
旅游
军事航空

房产要闻

大量甩地!114亿,4790亩!海南土地市场全面爆发!

数码要闻

AOC 推出“CU34G10XP”34 英寸带鱼屏显示器,1440P 180Hz

中年女性别总穿黑白灰,给秋冬一点色彩,穿对了减龄又有魅力

旅游要闻

张家口一滑雪场缆车故障致游客被困一小时

军事要闻

针对朝鲜半岛 韩美核咨商小组兵棋推演将举行

无障碍浏览 进入关怀版