掌握Java正则表达式,实例解析助你轻松应对复杂文本处理

作者:用户OHZM 更新时间:2025-05-29 09:53:49 阅读时间: 2分钟

正则表达式(Regular Expression,简称Regex)是处理字符串的一种强大工具,尤其在Java编程语言中,它被广泛应用于字符串搜索、替换、验证和解析等操作。掌握Java正则表达式,可以帮助开发者更高效地处理复杂文本。本文将详细介绍Java正则表达式的基础知识,并通过实例解析帮助你轻松应对各种文本处理场景。

一、正则表达式基础知识

1. 预定义字符集

  • .: 通常代表任意字符,但不包括行结束符。
  • ^: 匹配输入字符串的起始位置。
  • $: 匹配输入字符串的结束位置。
  • s: 匹配任何空白字符,包括空格、制表符、换页符等。
  • S: 匹配任何非空白字符。
  • d: 匹配任何数字,等同于 [0-9]
  • D: 匹配任何非数字字符。
  • w: 匹配任何单词字符,包括字母、数字和下划线。
  • W: 匹配任何非单词字符。

2. 数量修饰符

  • *: 前面的字符可以出现0次或无限次。
  • +: 前面的字符至少出现1次,可以无限次。
  • ?: 前面的字符可以出现0次或1次。
  • {n}: 前面的字符恰好出现n次。
  • {n,}: 前面的字符至少出现n次。
  • {n,m}: 前面的字符出现n到m次。

3. 特殊符号的匹配

  • 使用反斜杠 \ 对特殊字符进行转义,如匹配美元符号 $ 应写作 \$

二、实例应用

1. 匹配最后一个逗号

,: 这将找到字符串中的最后一个逗号。

String input = "Hello, World, welcome to Java!";
Pattern pattern = Pattern.compile(",(?!.*,)");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
    System.out.println("匹配到的最后一个逗号:" + matcher.group());
}

2. 匹配第一个逗号

,: 这个表达式会匹配字符串中的第一个逗号。

String input = "Hello, World, welcome to Java!";
Pattern pattern = Pattern.compile("^,.*");
Matcher matcher = pattern.matcher(input);
if (matcher.matches()) {
    System.out.println("匹配到的第一个逗号:" + matcher.group());
}

3. 匹配任意字符

[wW]: 这将匹配任何数量的单词字符或非单词字符。

String input = "Hello, World!";
Pattern pattern = Pattern.compile("[wW]");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
    System.out.println("匹配到的字符:" + matcher.group());
}

4. 匹配第一个空白

s?: 用于找到字符串中的第一个空白字符,? 表示非贪婪匹配,尽可能少地匹配。

String input = "Hello, World!";
Pattern pattern = Pattern.compile("^.*s");
Matcher matcher = pattern.matcher(input);
if (matcher.matches()) {
    System.out.println("匹配到的第一个空白字符:" + matcher.group());
}

三、常用正则表达式大全

  1. 匹配中文字符:[u4e00-u9fa5]
  2. 匹配双字节字符(包括汉字):[x00-xff]
  3. 匹配邮箱地址:[w.-]+@[w.-]+\\.[a-zA-Z]{2,}
  4. 匹配手机号码:1[3-9]\\d{9}
  5. 匹配URL:(http|https)://[a-zA-Z0-9-.]+\\.[a-zA-Z]{2,}

通过以上实例和常用正则表达式大全,相信你已经对Java正则表达式有了初步的了解。在实际应用中,结合具体场景灵活运用正则表达式规则,可以大大提高代码的简洁性和可维护性。

大家都在看
发布时间:2024-10-30 09:58
牛奶是一种我们常喝的营养食物。牛奶中含有的很多营养物质,对于增强我们的身体素质来说是很有好处的,尤其是对于一些身体比较虚弱,或者是长时间有疾病的人有更好的效。
发布时间:2024-10-30 13:56
狐臭是一种比较常见的疾病,对患者影响比较大,会引起周围人的反感,对患者会造成比较大的心理影响,得了狐臭以后加强调理,比如说可以使用中药来调理,效果是比较不错。
发布时间:2024-12-09 22:10
6号线 汉正街 园博园 琴台:好玩!4号线 楚河汉街 七里庙 2号线 盘龙城 汉口火车站 循礼门 江汉。
发布时间:2024-12-14 02:31
公积金贷款申请条件有:在贷款当地城镇常住有效户口,能提供有效居住证明;版在贷款之前有连权续缴存6个月以上的住房公积金,公积金的累计缴存时间不能低于12个月;首套房自筹资金达到所购住房总价的30%以上(含30%),90平以下首套房贷则只需两。
发布时间:2024-12-14 07:17
铁道部历任部长名单如下:1、滕代远(1949年10月至1965年1月)2、吕正操(1965年1月至1970年)3、苏静(军管会主任 1967年4月至1968年7月)3、万里(1975年1月至1976年12月)5、段君毅(1976年12月至1。
发布时间:2024-11-11 12:01
“九州十府一百单八县”是一直流传于山东关于山东古代行政区划的一种说法,但是这种说法实际上可以说是错误的,历史上山东曾有有十个府、有一百单八县,但并没有九个州,更没有哪一个时间点同时拥有“九州十府一百单八县”。“州”“府”“县”均为政区名称,。
发布时间:2024-12-09 22:49
益田站 乘坐 地铁3号线 (双龙方向) 4站在 少年宫站 (E口出) 下车 步行 630米到 深圳市儿童医院。
发布时间:2024-11-02 13:47
水为身体必不可少的,一切正常身体每一次饮水以一百ml至三百ml为宜,不可以超出1500ml,不然便会被觉得饮用水过多。海淞肾病医院特别提示,针对少年儿童而言。
发布时间:2024-10-31 06:46
1、先给我们的牛肉肠脱去外衣。 2、切花刀不能切太薄炸的时候会焦也不能切太厚会断要切的刚刚好。 3、热锅下油又不能太热五成热就可以有一个办法探油温拿一双木筷子插到油里筷子周围起泡就是差不多五成热了然后关小火炸就可以啦炸的时候时不时。
发布时间:2024-11-19 08:43
就是发神经的意思。河南话,又称豫语,属汉语中原官话,是河南省境内的方言。河南话分为三类:一类是通行于河南大部分地区的中原官话,即为人们通常习惯所说的狭义的河南话;其次是通行于豫北太行山一带的晋语-邯新片,分布在济源、焦作、新乡 、鹤壁、安阳。