Java 正则表达式基础
2013-01-05 09:31
375 查看
Java 中有关正则表达式的类都在 java.util.regex 包里
主要有 Pattern 和
Matcher 这两个类
典型的调用顺序是
使用 Matcher 类,最重要的一个概念必须清楚:组(Group)
在正则表达式中,“()”定义了一个组,由于一个正则表达式可以包含很多的组,所以下面先说说怎么划分组的, 以及这些组和组的下标
下面我们看看一个小例子,来说明这个问题
\w(\d\d)(\w+)
这个正则表达式有三个组:
整个\w(\d\d)(\w+) 是第0组 group(0)
(\d\d) 是第1组 group(1)
(\w+) 是第2组 group(2)
我们看看和正则表达式匹配的一个字符串
x99SuperJava
group(0) 是匹配整个表达式的字符串的那部分 x99SuperJava
group(1) 是第1组(\d\d)匹配的部分 99
group(2) 是第二组(\w+)匹配的那部分 SuperJava
Matcher 类常用方法:
和find不同, find是会在整个输入字符串查找匹配的子字符串。
一般我们使用find的流程:
主要有 Pattern 和
Matcher 这两个类
典型的调用顺序是
Pattern p = Pattern.compile("a*b"); Matcher m = p.matcher("aaaaab"); boolean b = m.matches();
使用 Matcher 类,最重要的一个概念必须清楚:组(Group)
在正则表达式中,“()”定义了一个组,由于一个正则表达式可以包含很多的组,所以下面先说说怎么划分组的, 以及这些组和组的下标
下面我们看看一个小例子,来说明这个问题
\w(\d\d)(\w+)
这个正则表达式有三个组:
整个\w(\d\d)(\w+) 是第0组 group(0)
(\d\d) 是第1组 group(1)
(\w+) 是第2组 group(2)
我们看看和正则表达式匹配的一个字符串
x99SuperJava
group(0) 是匹配整个表达式的字符串的那部分 x99SuperJava
group(1) 是第1组(\d\d)匹配的部分 99
group(2) 是第二组(\w+)匹配的那部分 SuperJava
Matcher 类常用方法:
public boolean matches()尝试将整个区域与模式匹配。这个要求整个输入字符串都要和正则表达式匹配,和“^$”功能相同
和find不同, find是会在整个输入字符串查找匹配的子字符串。
public boolean find()find会在整个输入中寻找是否有匹配的子字符串
一般我们使用find的流程:
while(matcher.find()){ //在匹配的区域,使用group,replace等进行查看和替换操作 }
public int groupCount()这个方法返回了,正则表达式的匹配的组数
public String group(int group)这个方法提供了强大而方便的工具,可以得到指定的group所匹配的输入字符串
相关文章推荐
- 2015年11月26日 Java基础系列(六)正则表达式Regex
- java正则表达式基础
- 正则表达式、Calendar类、SimpleDateFormat类、Date类、BigDecimal类、BigInteger类、System类、Random类、Math类(Java基础知识十四)
- java根据正则表达式查出对应字符,并在查到的字符基础上作修改
- 黑马程序员——Java基础—正则表达式
- java基础---->正则表达式
- 黑马程序员——Java基础---常用类,基本类型包装类,正则表达式
- Java正则表达式基础
- 黑马程序员——Java基础---正则表达式
- java基础——XML、正则表达式、反射机制
- java基础 正则表达式 date DateFormat Calender的介绍与用法
- 黑马程序员_java基础笔记(08)...GUI,网络编程,正则表达式
- 黑马程序员————java基础————正则表达式
- java基础---正则表达式
- 【java基础】 正则表达式的使用
- $Java正则表达式基础整理
- java基础系列----------- 正则表达式
- 黑马程序员---java基础之正则表达式
- 黑马程序员——Java语言基础——09.正则表达式
- Java基础_12_正则表达式