栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java:正则表达式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java:正则表达式

正则表达式(regular expression)

正则表达式(regular expression,简写为regex)是一个字符串,用来描述匹配-一个字符串集合的模式。对于字符串处理来说,正则表达式是一个强大的工具。可以使用正则表达式来匹配、替换和拆分字符串。Java的正则表达式是由java.util.regex的Pattern和Matcher类实现的。 

import java.util.regex.Matcher;
import java.util.regex.Pattern;

匹配字符串

用法:string.matches(pattern)返回boolean类型。

String类中的matches方法类似equals方法。例如,以下两个语句结果都为true。

"Java" .matches("Java");
"Java" . equals("Java");


正则表达式语法

正则表达式由字面值字符和特殊符号组成。表H-1列出了正则表达式常用的语法。

注意:

◇在其他语言中,\ 表示:我想要在正则表达式中插入一个普通的(字面上的)反斜杠,请不要给它任何特殊的意义。

在 Java 中,\ 表示:我要插入一个正则表达式的反斜线,所以其后的字符具有特殊的意义。需要使用\来表示。
◇空白字符是' '、't'、'n'、'r',或者'f'。因此, s和[tnrf]等同,S和[^ tnrf]等同。

◇单词字符是任何的字母、数字或者下划线字符。因此w等同于 [a-z[A-Z][0-9]_]或者简化为 [A-Za-z0-9_]。W等同于[^A-Za-z0-9]。

◇表H-1中后面六个条目*、+、?、{n}、{n, }以及{n,m}称为量词符 (quantifier),用于确定量词符前面的模式会重复多少次。例如,A*匹配0或者多个A,A+匹配1或者多个A,A?匹配0或者1个A。A{3} 精确匹配 AAA,A{3, },匹配至少3个A, A{3,6}匹配3到6之间个A。*等同于 {0, },+等同于{1, },?等同于{0,1}。

◇不要在重复量词符中使用空白。例如,A{3,6}不能写成逗号后面有一个空白符的A{3, 6}。

◇可以使用括号来将模式进行分组。例如,(ab){3}匹配ababab,但是ab{3}匹配abbb。

替换和拆分字符串

如果字符串匹配正则表达式,String类的matches方法返回true。string类也包含replaceAll,replaceFirst和split方法,用于替换和拆分字符串。

replaceAll方法替换所有匹配的子字符串,replaceFirst方法替换第一个匹配的子字符串。

System . out . println("Java Java Java" . rep1aceA11("v\w", "wi"));
>>>Jawi Jawi Jawi
System . out . print1n("Java Java Java" . replaceFirst("v\w", "wi"));
>>>Jawi Java Java

将字符串"Java1HTML2Per1"拆分为Java、HTML 以及Per1并且保存在tokens[0], tokens[1]以及tokens[2]

String[] tokens = "JavalHTML2Per1" . split("\d");

其他应用

1、合法E-mail地址:必须包含一个并且只有一个符号“@”,不允许出现“@.”或者.@,允许“@”前的字符中出现“+”,不允许“+”在最前面,或者“+@”

正则表达式:^(w+((-w+)|(.w+)))+w+((-w+)|(.w+))@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+)*.[A-Za-z0-9]+$

2、社会安全号的模式是 xxx-xx-xxxx,其中x是一位数字,正则表达式: [\d]{3}-[\d]{2}-[\d]{4}  

3、偶数:[\d]*[02468]   
4、电话号码(xxx)xxx-xxxx 第一位数字不能为0 :\([1-9][\d]{2}\)[\d]{3}-[\d]{4}
5、假定姓由最多25个字母组成,并且第一个字母为大写形式,正则表达式(姓的模式):  [A-Z][a-zA-Z]{1,24}   
6、标识符:以字母、下划线或美元符号开始,不以数字开头,由字母、数字、下划线和美元符号组成。正则表达式:[a-zA-Z_$][\w$]*

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/357819.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号