java正则表达式

一、概念:

正则表达式用来描述或者匹配一系列符合某个语句规则的字符串。

正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。

具体概念:正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。

二、常用的正则表达式

 

三、正则表达式语法注意:

Ps1:反斜杠是一个特殊的字符,在字符串中开始转义序列。因此Java中需要使用\\来表示\。

Ps2:空白字符是" "、"\t""\n""\r""\f",因此\s和[\t\n\r\f]等同,\S和[^\t\n\r\f]等同。

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

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

Ps5:表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}。

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

四、替换、拆分字符串

1、java中Srting类有replaceAll方法,可以替换所有子字符串replaceFirst可以替换第一个子字符串

String ss = s.replaceAll("i", "I");

 其中子字符串可以用正则表达式来表示

String s = new String("javajavajava");

String ss = s.replaceAll("v\\w", "66");

2、java中Srting类有split方法,分别按照参数字符串分割,存储在ss[]中,用于分割的字符串舍弃

String s = new String("java1javb3javc");

String[] ss = s.split("\\d");

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值