1、Java 1.4之后的版本引进了一个用于处理正则表达式的包 java.util.regex.*; 该包主要包含三个类:
- Pattern : 用来表示一个经过编译处理后的正则表达式。通俗一点来说,就是用一个类来表示一个正则表达式,这个类是从正则表达式构造得到的。这个类并没有public constructor, 如果想得到一个这个类的一个对象则必须调用该类的public static方法:public static Pattern compile(String regex)或者 public static Pattern compile(String regex,int flags)。这两个方法返回一个Pattern型的对象。
- Matcher : 解释Pattern并执行匹配、查找工作的类,跟Pattern类一样,这个类也没有定义public constructor,要想获得一个Matcher对象必须调用Pattern类的方法 public Matcher matcher(CharSequence input) 来得到。
- PatternSyntaxException : 一个unchecked exception。当遇到不符和Java正则表达式的语法的时候程序就会抛出这个异常。
2、一个例子(摘自
java.sun.com )
<!---->package regex;
import java.io.Console;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class RegexTestHarness {
public static void main(String [] args) {
Console console = System.console();
if (console == null) {
System.err.println("No console.");
System.exit(1);
}
while (true) {
Pattern pattern = Pattern.compile(console.readLine("%nEnter your regex: "));
Matcher matcher = pattern.matcher(console.readLine("Enter input string to search: "));
boolean found = false;
while (matcher.find()) {
console.format("I found the text \"%s\"starting at " +
"index %d and ending at index %d. %n", matcher.group(), matcher.start(), matcher.end());
found = true;
}
if (!found)
console.format("No match found.%n");
}
}
}
注:由于这个例子使用了JDK 1.6后才有的方法:System.console(),所以这个例子在eclipse和netbeans都不能正常运行。只有在命令行下才能正确运行。如果想在eclipse和nb下运行,好像可以用System.out/in来代替System.console。
分享到:
相关推荐
在Java中,正则表达式是通过java.util.regex包提供的接口和类来实现的。`regex-smart.jar`这个库显然是为了简化开发者在Java项目中使用正则表达式的流程,它提供了一系列内置的验证、提取和清洗方法,使得处理字符串...
- `java.util.regex.Pattern`:编译正则表达式为模式对象,用于后续的匹配操作。 - `java.util.regex.Matcher`:与Pattern对象配合,执行实际的匹配、查找和替换操作。 3. **MetaCharacters(元字符)** - 元...
在Java中,正则表达式主要通过`java.util.regex`包来实现,提供了Pattern和Matcher两个核心类。 **1. Pattern类** Pattern类是Java正则表达式的起点,它将一个正则表达式编译成一个模式对象。这个编译过程可以优化...
Java中的正则表达式主要通过`java.util.regex`包来实现,核心类有`Pattern`和`Matcher`。`Pattern`是编译正则表达式的对象,编译后可以多次使用。`Matcher`对象是实际执行匹配操作的对象,它与输入字符串关联,并...
在Java中,你可以通过`java.util.regex`包提供的类如`Pattern`和`Matcher`来使用正则表达式。然而,Jakarta-ORO提供了一种替代方式,它简化了在Java中的正则表达式操作,并且提供了额外的功能。 在正则表达式的基础...
自Java 1.4引入`java.util.regex`包以来,Java程序员可以方便地利用正则表达式处理各种字符串问题。本文将对Java中正则表达式的基础概念和常用语法进行详细解释。 1. **元字符和转义字符**: - `\`:反斜杠用于...
Java提供了内置的支持来处理正则表达式,主要通过`java.util.regex`包实现。该包包含了多个类,如`Pattern`和`Matcher`,它们共同构成了Java中正则表达式的操作基础。 - **Pattern类**:用于编译正则表达式,创建一...
Java中的正则表达式主要通过`java.util.regex`包中的类来实现,如`Pattern`和`Matcher`。 在日志处理中,我们通常需要完成以下任务: 1. **过滤日志级别**:日志通常包含不同的级别,如DEBUG、INFO、WARN、ERROR等...
Java正则表达式的实现主要依赖于`java.util.regex`包中的`Pattern`和`Matcher`两个核心类。本文将深入探讨这两个类的功能以及如何使用它们来进行字符串的匹配和操作。 #### 二、Pattern 类详解 `Pattern` 类代表了...
在Java中,`java.util.regex`包提供了正则表达式的核心支持,而Jakarta ORO则提供了一些额外的功能和优化。 1. **Java正则表达式基础** - **模式构造**:在Java中,我们使用`Pattern`类来编译正则表达式模式,例如...
Java提供了强大的正则表达式支持,主要通过`java.util.regex`包中的`Pattern`和`Matcher`类来实现。`Pattern`类用于编译正则表达式字符串,而`Matcher`类用于执行与字符串的匹配操作。 #### 三、身份证号码的格式...
Java提供了`java.util.regex`包,通过`Pattern`和`Matcher`类支持正则表达式。以下是如何在Java中验证电话号码的一个例子: ```java import java.util.regex.Pattern; import java.util.regex.Matcher; String...
在Java中,正则表达式是通过`java.util.regex`包中的类来支持的,主要包括`Pattern`、`Matcher`和`PatternSyntaxException`。`Pattern`类用于编译正则表达式,生成一个模式对象,而`Matcher`类则用于对输入字符串...
- 在Java中,正则表达式的使用主要依赖于`java.util.regex`包中的`Pattern`和`Matcher`类。 - 通常步骤包括:定义模式、创建`Pattern`对象、构建`Matcher`对象并执行匹配操作。 **1.4 正则表达式的缺点** - 学习...
在Java中,`java.util.regex`包提供了支持正则表达式的类库,主要包括`Pattern`、`Matcher`和`PatternSyntaxException`等几个核心类。 #### 二、基础语法 1. **字符匹配**: - `.`:匹配任意单个字符。 - `\d`:...
在 Java 中,正则表达式主要通过 `java.util.regex` 包提供的类来实现。 **1.2 正则表达式的优势** - **高效性:** 使用正则表达式能够用较少的代码完成复杂的文本处理任务,提高开发效率。 - **灵活性:** 正则...
在Java中,`java.util.regex`包提供了正则表达式相关的类,如`Pattern`和`Matcher`。`Pattern`类用于编译正则表达式,而`Matcher`类则是用来在特定输入字符串中查找与正则表达式匹配的序列。 1. **Pattern类**: -...
Java中的正则表达式功能主要通过`java.util.regex`包中的类来实现,如`Pattern`、`Matcher`和`PatternSyntaxException`。 1. **正则表达式基础** - **元字符**: 在正则表达式中,一些字符具有特殊含义,如`.`代表...
Java提供了`java.util.regex`包来支持正则表达式的操作,主要包括`Pattern`和`Matcher`两个类。 4. **正则表达式的局限性?** 学习曲线较陡峭,初学者可能需要时间去理解和掌握其复杂性。同时,过度使用可能导致...
- Java中的正则表达式主要通过`java.util.regex`包来实现,包括`Pattern`、`Matcher`和`PatternSyntaxException`等类。 2. **Pattern类** - `Pattern`类代表正则表达式模式,它是编译后的正则表达式。使用`...