java学习笔记<十三>正则表达式

正则表达式是一个用来处理字符串的工具

1.创建正则表达式

$  匹配一行的结尾

^ 匹配一行的开头

()  标记子表达式的开始和结束位置

[]  用于确定中括号表达式的开始和结束位置

{} 用于标记前面字表达式的出现频度

* 指定前面字表达式可以出现零次或多次

+指定前面子表达式可以出现一次或多次

?指定前面子表达式可以出现零次或一次

.匹配除换行符\n之外的任何单字符

|指定两项之间任选一项

\用于转义下一个字符

例子:x?   x表达式出现零次或一次

预定义字符

预定义字符可以匹配多个字符

.可以匹配任何字符

\d匹配0~9的任何数字

\D匹配非数字

\s匹配所有的空白字符,包括空格,制表符,回车符,换页符,换行符

\S匹配所有的非空白字符

\w匹配所有的单词字符,包括0~9所有的数字,26个英文字母和下画线

\W匹配所有的非单词字符

方括号表达式

表示枚举  [abc]  a,b,c任意一个字符

表示范围:-    [a-f]   a~f范围内的字符

表示“否”:^

表示“与”:&&  [a-z&&[^b-p]]    a到z的范围内,除了不是b到p的范围内

表示“并”:[a-d[m-p]]

正则表达式支持的数量标识符合以下几种模式

贪婪模式:会一直匹配下去

勉强模式(用问号后缀(?)表示):z只会匹配最少的字符

占有模式(用j加号表示(+)):比较少用

以贪婪模式为例

X?  x表达式出现一次零次或者一次

x*   x表达式出现零次或多次

x+  x表达式出现一次或多次

x{n}   x表达式出现n次

x{n,}  x表达式最少出现n次

x{n,m}  x表达式最少出现n次,最多出现m次

使用正则表达式

Pattern对象是正则表达式编译后在内存中的表示形式,因此正则表达式字符串必须先编译为Pattern对象,然后再利用该Pattern对象创建对应的Matcher对象。

例如:Pattern p=Pattern.compile("a*b"); //将一个字符串编译成Pattern对象

Matcher m=p.matcher("aaaaab")   //使用Pattern对象创建Matcher对象

例子:

import java.util.regex.Pattern;


public class FindGroup
{
  public static void main(String[] args)
  {
  Matcher m=Pattern.compile("\\w+").matcher("java is very easy!");
  while(m.find())
  {
  System.out.println(m.group());
  
  }
  int i=0;
  while(m.find(i))
  {
  System.out.println(m.group()+"\t");
  i++;
  
  }
  
  
 
  }
}

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值