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

Java 正则表达式

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

Java 正则表达式

String类中支持正则表达式的方法:

.replaceAll() //将字符串中符合条件的内容替换成指定子串,

.replaceFirst()//将字符串中符合条件的内容替换成指定子串,仅替换第一个

.split() //将字符串按括号内字符分割成数组

.matches() // 判断字符串是否有指定子串

[u4e00-u9fa5] 表示任意汉字(Unicode码)

.表示匹配一个任意字符

d 代表0-9 等价于 [0-9]

+ 代表前面字符出现的次数 从1次到无限次 等价于 {1,}

* 代表前面字符出现的次数 从0次到无限次 等价于{0,}

| 代表或,写法为 “([A-Z]|[a-z])”

s 空格

?相当于它前面的字符出现的次数{0,1}

^表达式开始

$表达式结尾

{n} n个

{n,} n个或多个

{m,n} m个到n个

D 0-9取反 ,[^0-9]

w [a-zA-Z0-9]

W a-z,A-Z,0-9取反(不含这些的) [^a-zA-Z0-9]

() 分组

分组例子:分组后不显示

matcher()

判断字符串和正则表达式是否匹配,返回一个boolean类型值

"java52IKLK123".matcher("[a-z]*[0-9]+[A-Z]*.*")//返回true

Pattern 类:pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一 个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正 则表达式作为它的第一个参数。

Matcher 类:Matcher 对象是对输入字符串进行解释和匹配操作的引擎。与Pattern 类一样, Matcher 也没有公共构造方法。你需要调用 Pattern 对象的 matcher 方法来获得一个 Matcher 对象。

输出子类

static void ziChuan() {
	String s1 = "my java 20java2018nmy   javascript8nhellojavajava";

//compile("正则表达式",Pattern.CASE_INSENSITIVE);
//Pattern.CASE_INSENSITIVE=2,代表忽略大小写
	Pattern p1 = Pattern.compile("[a-z0-9 ]*java[a-z0-9\s]*", 2);
	Matcher m1 = p1.matcher(s1);

	while (m1.find()) {
		System.out.println(m1.group());
	}
}

分组

static void fenZu() {
String s1 = "my java 20java2018nmy javascript8nhellojavajava";

Pattern p1 = Pattern.compile("([a-z0-9 ]*)(java)([a-z0-9\s]*)", 2);
Matcher m1 = p1.matcher(s1);

String s2 = m1.replaceAll("$1$2+++$3");
System.out.println(s2);
}

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

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

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