jdk1.4中加入了java.util.regex包提供对正则表达式的支持。而且Java.lang.String类中的replaceAll和split函数也是调用的正则表达式来实现的。
正则表达式对字符串的操作主要包括:字符串匹配,指定字符串替换,指定字符串查找和字符串分割。下面就用一个例子来说明这些操作是如何实现的:
< %@ page import="java.util.regex.*"%>
< %
Pattern p=null; //正则表达式
Matcher m=null; //操作的字符串
boolean b;
String s=null;
StringBuffer sb=null;
int i=0;
//字符串匹配,这是不符合的
p = Pattern.compile("a*b");
m = p.matcher("baaaaab");
b = m.matches();
out.println(b+"< br>");
//字符串匹配,这是符合的
p = Pattern.compile("a*b");
m = p.matcher("aaaaab");
b = m.matches();
out.println(b+"< br>");
//字符串替换
p = Pattern.compile("ab");
m = p.matcher("aaaaab");
s = m.replaceAll("d");
out.println(s+"< br>");
p = Pattern.compile("a*b");
m = p.matcher("aaaaab");
s = m.replaceAll("d");
out.println(s+"< br>");
p = Pattern.compile("a*b");
m = p.matcher("caaaaab");
s = m.replaceAll("d");
out.println(s+"< br>");
//字符串查找
p = Pattern.compile("cat");
m = p.matcher("one cat two cats in the yard");
sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb, "dog");
i++;
}
m.appendTail(sb);
out.println(sb.toString()+"< br>");
out.println(i+"< br>");
i=0;
p = Pattern.compile("cat");
m = p.matcher("one cat two ca tsi nthe yard");
sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb, "dog");
i++;
}
m.appendTail(sb);
out.println(sb.toString()+"< br>");
out.println(i+"< br>");
p = Pattern.compile("cat");
m = p.matcher("one cat two cats in the yard");
p=m.pattern();
m = p.matcher("bacatab");
b = m.matches();
out.println(b+"< br>");
s = m.replaceAll("dog");
out.println(s+"< br>");
i=0;
p = Pattern.compile("(fds){2,}");
m = p.matcher("dsa da fdsfds aaafdsafds aaf");
sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb, "dog");
i++;
}
m.appendTail(sb);
out.println(sb.toString()+"< br>");
out.println(i+"< br>");
p = Pattern.compile("cat");
m = p.matcher("one cat two cats in the yard");
sb = new StringBuffer();
while (m.find()) {
m.appendReplacement(sb, "cat");
}
m.appendTail(sb);
out.println(sb.toString()+"< br>");
String aa=sb.toString();
out.println(aa+"< br>");
//字符串分割
p = Pattern.compile("a+");
String[] a=p.split("caaaaaat");
for(i=0;i
{
out.println(a[i]+"< br>");
}
p = Pattern.compile("a+");
a=p.split("c aa aaaa t",0);
for(i=0;i
{
out.println(a[i]+"< br>");
}
p = Pattern.compile(" +");
a=p.split("c aa aaaa t",0);
for(i=0;i
{
out.println(a[i]+"< br>");
}
p = Pattern.compile("\\+");
a=p.split("dsafasdfdsafsda+dsagfasdfa+sdafds");
out.println(a.length+"< br>");
for(i=0;i
{
out.println(a[i]+"< br>");
}
%>(www.csdn.net)
分享到:
相关推荐
为了帮助开发者更好地掌握Java正则表达式技术,我们提供了一系列的Java正则表达式技巧大全,包括《Java正则表达式技巧大全》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧...
Java正则表达式匹配工具是IT领域中一种强大的文本处理工具,它利用正则表达式(Regular Expression)的规则来查找、替换或者提取文本中的特定模式。正则表达式是一种特殊的字符序列,能够帮助程序员或者用户高效地...
### 常用Java正则表达式知识点 #### 一、引言 正则表达式是一种强大的工具,用于处理文本并查找模式。多种编程语言,包括Perl、PHP、Python、JavaScript以及Java等均内置了对正则表达式的支持。本文将详细介绍Java...
在Java中使用正则表达式来判断字符串是否符合整数、小数或实数的格式是一种常见且有效的做法。在编程中,我们经常需要对输入的字符串进行格式验证,以确保它们符合预期的数值格式,尤其是在处理财务数据、用户输入...
Java正则表达式是Java编程语言中用于处理字符串的强大工具,它基于模式匹配的概念,能够高效地进行文本搜索、替换和解析。在Java中,正则表达式主要通过`java.util.regex`包来实现,提供了Pattern和Matcher两个核心...
本篇将围绕“使用Java正则表达式分析处理日志”这一主题,探讨如何利用Java的正则表达式功能来提取、过滤和操作日志数据。 首先,我们需要理解正则表达式的基本概念。正则表达式(Regular Expression)是一种模式...
本篇将深入探讨Java中的字符串、正则表达式及其在实际编程中的详细实例代码。 1. **字符串基础** - Java中的字符串是不可变的,这意味着一旦创建了字符串对象,就不能更改其内容。这由`final`关键字确保,提高了...
### 使用Java正则表达式实现一个简单的身份证号码验证 #### 一、背景介绍 身份证号码是中国公民的身份标识,由15位或18位数字组成(早期为15位,后改为18位)。其中,第18位是校验码,可能是数字0~9或者大写字母X。...
在Java中使用正则表达式通常涉及`java.util.regex`包中的类,如`Pattern`和`Matcher`。首先,通过`Pattern.compile()`方法编译正则表达式,然后使用`Matcher`对象的`find()`, `matches()`, `group()`等方法进行匹配...
2. java正则表达式的使用:java使用正则表达式可以实现手机号的匹配操作。正则表达式可以定义模式来匹配字符串,例如,"^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$"这个正则表达式可以匹配大多数的手机号码。 3...
"PB正则表达式"标签直接指向了我们讨论的主题,即在PowerBuilder中使用正则表达式。"PBRegExp"可能是作者创建的一个类或者函数库,用于封装正则表达式的操作。"正则表达式"标签进一步强调了我们要探讨的核心技术。...
`在正则表达式中具有特殊含义,分别代表零个或多个、一个或多个、零个或一个前一个字符。 4. **范围处理** - 使用方括号`[]`定义字符范围,例如`[a-zA-Z]`表示匹配任何字母。 5. **预定义字符类** - `\s`:匹配...
- **反向引用**:在正则表达式中引用前面已匹配的子串。 正则表达式在Java中提供了丰富的功能,允许开发者进行复杂的文本处理和模式匹配。熟练掌握正则表达式可以极大地提高文本处理的效率和灵活性。
2. **正则表达式中的特殊字符** 特殊字符是具有特定含义的字符,例如`\`用于转义,使得原本具有特殊意义的字符如`(`、`)`、`.`等变成普通字符。其他特殊字符如`\d`代表数字,`\s`代表空白字符,`\w`代表单词字符...
本文将详细介绍如何在Java中使用正则表达式以及测试正则表达式的软件。 首先,让我们了解一下Java中的正则表达式基础。在Java中,`java.util.regex`包提供了对正则表达式的支持。主要涉及以下核心类: 1. **...
在Java中,我们可以使用RE2J库,它是Google开发的一个高效、安全的正则表达式引擎,支持构造有限状态自动机。虽然RE2J主要设计用于正则表达式的匹配,但通过它的内部机制,我们可以间接地实现字符串生成。 下面是一...
在Java中使用Xeger,首先需要引入Apache Commons Text库。你可以通过Maven或Gradle将依赖添加到项目中。对于Maven,可以在pom.xml文件中加入以下依赖: ```xml <groupId>org.apache.commons <artifactId>commons...
这个合集提供的HTML和Java正则表达式实例,为开发者提供了一个快速参考的工具,帮助他们在开发过程中快速有效地实现数据验证功能。理解并熟练运用这些正则表达式,对于提高代码质量和用户体验都有极大的帮助。在实际...
在Java中,我们通常使用`Pattern`和`Matcher`两个类来操作正则表达式。下面是一个简单的例子: ```java import java.util.regex.*; public class RegexExample { public static void main(String[] args) { // ...