在JAVA中使用正则表达式
来源:互联网 发布:赣南脐橙淘宝宣传语 编辑:程序博客网 时间:2024/06/18 02:42
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, "<font color="red">cat</font>");
}
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<a.length;i++)
{
out.println(a[i]+"<br>");
}
p = Pattern.compile("a+");
a=p.split("c aa aaaa t",0);
for(i=0;i<a.length;i++)
{
out.println(a[i]+"<br>");
}
p = Pattern.compile(" +");
a=p.split("c aa aaaa t",0);
for(i=0;i<a.length;i++)
{
out.println(a[i]+"<br>");
}
p = Pattern.compile("/+");
a=p.split("dsafasdfdsafsda+dsagfasdfa+sdafds");
out.println(a.length+"<br>");
for(i=0;i<a.length;i++)
{
out.println(a[i]+"<br>");
}
%>
- 在java中使用正则表达式
- 在JAVA中使用正则表达式
- 在Java中使用正则表达式
- 在JAVA中使用正则表达式
- 在java代码中使用正则表达式
- 在Java中使用正则表达式
- 在Java中使用正则表达式处理文本
- 正则表达式在javascript和java中如何使用
- 在Java中使用正则表达式获取关键字
- 在Java中使用正则表达式温习笔记
- java中使用正则表达式
- JAVA中使用正则表达式
- java中使用正则表达式
- java中使用正则表达式
- java中使用正则表达式
- Java中使用正则表达式
- JAVA中使用正则表达式
- java中使用正则表达式
- Jbuilder Practice : “项目名.项目类型.local”的用
- Java-XML数据绑定工具大比拼
- Windows Server 2003 下"该内存不能为written"的解决方案
- 2个问题 Array and SQL
- 用SERVICE LOCATOR 模式实现命名访问
- 在JAVA中使用正则表达式
- 通过 Eclipse 发挥 XML 的威力 (2/2)
- Forte for Java开发指南
- Servlet及JSP中的多线程同步问题
- using struts in dreamweaver UltraDev 4.0
- 域初始化、静态块及构造方法等在创建类实例时的执行顺
- js向下拉列表的末尾添加一个 "nami" 选项
- JBuilder9+Weblogic7实战篇之工具篇(Weblogic)
- 使用JDOM处理XML数据之XSLT篇(二)