从Java1.4起,Java核心API就引入了java.util.regex程序包,它是一种有价值的基础工具,可以用于很多类型的文本处理,
如匹配,搜索,提取和分析结构化内容。
java.util.regex是一个用正则表达式所订制的模式来对字符串进行匹配工作的类库包。它包括两个类:Pattern和
Matcher.
1.全局替换
replacement() 函数,把所有的符合regex的字符替换为目标字符
2.条件替换
appendReplacement()函数件,将符合regex的第×个替换成目标字符
3.条件位置
end()和start()函数,第x个符合regex的字符串起始和结束位置
API说明:
Pattern类的方法简述
方法 说明
static Pettern compile(String regex,int flag)
编译模式,参数regex表示输入的正则表达式,flag表示模式类型(Pattern.CASE_INSENSITIVE 表示不区分大小写)
Matcher match(CharSequence input) 获取匹配器,input时输入的待处理的字符串
static boolean matches(String regex, CharSequence input)
快速的匹配调用,直接根据输入的模式regex匹配input
String[] split(CharSequence input,int limit)
分隔字符串input,limit参数可以限制分隔的次数
Matcher
一个Matcher对象是一个状态机器,它依据Pattern对象做为匹配模式对字符串展开匹配检查。首先一个Pattern实例订制了一个所用语法与
PERL的类似的正则表达式经编译后的模式,然后一个Matcher实例在这个给定的Pattern实例的模式控制下进行字符串的匹配工作。
Matcher类的方法简述
方法 说明
boolean matches() 对整个输入字符串进行模式匹配.
boolean lookingAt() 从输入字符串的开始处进行模式匹配
boolean find(int start) 从start处开始匹配模式
int groupCount() 返回匹配后的分组数目
String replaceAll(String replacement) 用给定的replacement全部替代匹配的部分
String repalceFirst(String replacement) 用给定的replacement替代第一次匹配的部分
Matcher appendReplacement(StringBuffer sb,String replacement)
根据模式用replacement替换相应内容,并将匹配的结果添加到sb当前位置之后
StringBuffer appendTail(StringBuffer sb) 将输入序列中匹配之后的末尾字串添加到sb当前位置之后.
一个例子:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String regex = "java";
String s = "head java is very good Java tail";
Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher(s);
StringBuffer sb = new StringBuffer();
while (m.find()) {
String t = m.group();
// replace
m.appendReplacement(sb, "C#");
System.out.println("end:" + m.end());
System.out.println("start:" + m.start());
System.out.println("sb:" + sb);
System.out.println("t:" + t);
}
// tail
m.appendTail(sb);
System.out.println(sb);
}
}
分享到:
相关推荐
### 常用Java正则表达式知识点 #### 一、引言 正则表达式是一种强大的工具,用于处理文本并查找模式。多种编程语言,包括Perl、PHP、Python、JavaScript以及Java等均内置了对正则表达式的支持。本文将详细介绍Java...
Java正则表达式是编程语言Java中的一个强大工具,它用于模式匹配、数据验证和文本检索替换。在Java中,正则表达式是通过java.util.regex包提供的接口和类来实现的。`regex-smart.jar`这个库显然是为了简化开发者在...
Java 正则表达式的总结和一些小例子 Java 正则表达式是 Java 编程语言中一个非常重要的组件,它可以用于文本显示、数据表示、查找键和许多其他目的。从 Java 1.4 开始,Java 核心 API 就引入了 java.util.regex ...
Java正则表达式是Java编程语言中用于处理字符串的强大工具,它允许程序员通过模式匹配来查找、替换或分割文本。在Java中,正则表达式是通过`java.util.regex`包提供的API来实现的。本讲解将深入探讨Java正则表达式的...
Java正则表达式详解
这个库不仅包含了标准Java API中的`java.util.regex`包,还可能包含了一些第三方库,如`automaton-1.11-7`,这可能是对Java正则表达式功能的一种扩展或优化。 正则表达式的语法是相当丰富的,包括字符类(如`\d`...
### Java正则表达式详解 #### 一、正则表达式的重要性及应用 正则表达式,作为一种强大的文本处理工具,对于程序员而言是不可或缺的基本技能之一。它在文本的匹配、搜索和替换等方面发挥着不可替代的作用。尤其在...
本资源集合了Java开发中的核心组件JDK、前端JavaScript库JQuery以及编程语言通用的正则表达式API,这些都是IT开发中不可或缺的重要工具和知识。 首先,JDK(Java Development Kit)是Java编程语言的核心,由Oracle...
在Java标准库中的java.util.regex包之外,Jakarta ORO提供了额外的特性和优化,使得它在某些场景下比原生的Java正则表达式API更为实用。 Jakarta ORO的核心功能包括: 1. **高效性能**:Jakarta ORO采用了优化的...
2. **Java中的正则表达式API** - **Pattern类**:编译正则表达式,创建匹配模式的对象。 - **Matcher类**:使用Pattern对象对字符串进行匹配、查找、替换等操作。 - **String类的matches()方法**:直接判断字符串...
2. **Java中的正则表达式API** - **Pattern类**:代表一个正则表达式,编译正则表达式成Pattern对象以提高效率。 - **Matcher类**:对Pattern对象进行匹配操作,提供find(), matches(), replaceFirst(), ...
### Java正则表达式详解 #### 一、引言 正则表达式是计算机科学中的一个强大工具,用于处理文本数据。随着Java的发展,自J2SE 1.4版本开始,Java正式引入了对正则表达式的支持,并提供了一系列功能强大的API。本文...
### Java正则表达式判断字符串是否包含中文 在日常的软件开发过程中,我们经常会遇到需要对输入的字符串进行校验的情况。例如,在处理用户输入、文本分析或数据清洗时,可能需要判断一个字符串中是否包含中文字符。...
Jakarta-ORO是一个开源项目,提供了丰富的正则表达式API。 ##### 2.1 安装Jakarta-ORO库 首先需要从Apache官网或者其他可信源下载Jakarta-ORO库并将其加入项目的类路径中。 ##### 2.2 使用Jakarta-ORO库的步骤 1...
6. Java中的正则表达式API - `Pattern.compile(String regex)`编译正则表达式为`Pattern`对象。 - `Matcher matcher = pattern.matcher(input)`用给定的输入创建`Matcher`对象。 - `matcher.find()`在输入中查找...
**3.1 Java正则表达式API概述** - Java中的正则表达式主要通过`java.util.regex`包下的`Pattern`类与`Matcher`类实现。 **3.2 使用步骤** 1. **构造模式**:使用`Pattern.compile(regex)`方法创建`Pattern`对象。 ...
2. **Java中的正则表达式API** - **Pattern类**: 用于编译正则表达式,创建一个`Pattern`对象。例如,`Pattern pattern = Pattern.compile("yourRegex");` - **Matcher类**: 与`Pattern`配合使用,对输入字符串...
Java正则表达式是编程语言Java中用于处理字符串的强大工具,它允许程序员通过模式匹配来查找、替换或提取文本。正则表达式在各种场景下都有广泛应用,如数据验证、文本搜索与替换等。本课件旨在为初学者提供一个Java...
下面是一个简单的Java正则表达式实例,它查找并打印出输入字符串中所有的数字: ```java import java.util.regex.*; public class RegexExample { public static void main(String[] args) { String input = ...