java正则表达式笔记

java正则表达式学习记录

 

 正则表达式(regular expressions)是一种描述字符串集的方法,它是以字符串集中各字符串的共有特征为依据的。正则表达式可以用于搜索、编辑或者是操作文本和数据。它超出了 Java 程序设计语言的标准语法,因此有必要去学习特定的语法来构建正则表达式。正则表达式的变化是复杂的,一旦你理解了它们是如何被构造的话,你就能解析或者构建任意的正则表达式了。

 

字符类

字符类

[abc]

a, b 或 c(简单类)

[^abc]

除 a, b 或 c 之外的任意字符(取反)

[a-zA-Z]

a 到 z,或 A 到 Z,包括(范围)

[a-d[m-p]]

a 到 d,或 m 到 p:[a-dm-p](并集)

[a-z&&[def]]

d,e 或 f(交集)

[a-z&&[^bc]]

除 b 和 c 之外的 a 到 z 字符:[ad-z](差集)

[a-z&&[^m-p]]

a 到 z,并且不包括 m 到 p:[a-lq-z](差集)

 

预定义字符类

预定义字符类

.

任何字符(匹配或者不匹配行结束符)

\d

数字字符:[0-9]

\D

非数字字符:[^0-9]

\s

空白字符:[\t\n\x0B\f\r]

\S

非空白字符:[^\s]

\w

单词字符:[a-zA-Z_0-9]

\W

非单词字符:[^\w]

 

词量

量 词 种 类

意  义

贪婪

勉强

侵占

X?

X??

X?+

匹配 X 零次或一次

X*

X*?

X*+

匹配 X 零次或多次

X+

X+?

X++

匹配 X 一次或多次

X{n}

X{n}?

X{n}+

匹配 X n 次

X{n,}

X{n,}?

X{n,}+

匹配 X 至少 n 次

X{n,m}

X{n,m}?

X{n,m}+

匹配 X 至少 n 次,但不多于 m 次

 

边界匹配器

^

行首

$

行尾

\b

单词边界

\B

非单词边界

\A

输入的开头

\G

上一个匹配的结尾

\Z

输入的结尾,仅用于最后的结束符(如果有的话)

\z

输入的结尾

 

示例:使用分组去文件的扩展名

import java.util.regex.Matcher;

import java.util.regex.Pattern;

 

publicclass Foo {

   publicstatic String testFoo(Stringsource){

      //两个分组

      Pattern p = Pattern.compile("(\\w+).(.+)");

     

      Matcher mat = p.matcher(source);

      mat.find();

      //打印分组数

      System.out.println(mat.groupCount());

      //返回第二个分组内容

      returnmat.group(2);

   }

  

   publicstaticvoid main(String[]args) {

      System.out.println(testFoo("User3.java"));

   }

}

打印结果:

2

java

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值