`
xchyou
  • 浏览: 28286 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

在JAVA中使用正则表达式

 
阅读更多

  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使用正则表达式提取XML节点内容的方法示例

    为了帮助开发者更好地掌握Java正则表达式技术,我们提供了一系列的Java正则表达式技巧大全,包括《Java正则表达式技巧大全》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧...

    java正则表达式匹配工具

    Java正则表达式匹配工具是IT领域中一种强大的文本处理工具,它利用正则表达式(Regular Expression)的规则来查找、替换或者提取文本中的特定模式。正则表达式是一种特殊的字符序列,能够帮助程序员或者用户高效地...

    常用java正则表达式

    ### 常用Java正则表达式知识点 #### 一、引言 正则表达式是一种强大的工具,用于处理文本并查找模式。多种编程语言,包括Perl、PHP、Python、JavaScript以及Java等均内置了对正则表达式的支持。本文将详细介绍Java...

    详解Java判断是否是整数,小数或实数的正则表达式

    在Java中使用正则表达式来判断字符串是否符合整数、小数或实数的格式是一种常见且有效的做法。在编程中,我们经常需要对输入的字符串进行格式验证,以确保它们符合预期的数值格式,尤其是在处理财务数据、用户输入...

    java正则表达式.zip

    Java正则表达式是Java编程语言中用于处理字符串的强大工具,它基于模式匹配的概念,能够高效地进行文本搜索、替换和解析。在Java中,正则表达式主要通过`java.util.regex`包来实现,提供了Pattern和Matcher两个核心...

    使用Java正则表达式分析处理日志

    本篇将围绕“使用Java正则表达式分析处理日志”这一主题,探讨如何利用Java的正则表达式功能来提取、过滤和操作日志数据。 首先,我们需要理解正则表达式的基本概念。正则表达式(Regular Expression)是一种模式...

    java 字符串 正则表达式 详细实例代码

    本篇将深入探讨Java中的字符串、正则表达式及其在实际编程中的详细实例代码。 1. **字符串基础** - Java中的字符串是不可变的,这意味着一旦创建了字符串对象,就不能更改其内容。这由`final`关键字确保,提高了...

    使用Java正则表达式实现一个简单的身份证号码验证

    ### 使用Java正则表达式实现一个简单的身份证号码验证 #### 一、背景介绍 身份证号码是中国公民的身份标识,由15位或18位数字组成(早期为15位,后改为18位)。其中,第18位是校验码,可能是数字0~9或者大写字母X。...

    正则表达式在JAVA中应用

    在Java中使用正则表达式通常涉及`java.util.regex`包中的类,如`Pattern`和`Matcher`。首先,通过`Pattern.compile()`方法编译正则表达式,然后使用`Matcher`对象的`find()`, `matches()`, `group()`等方法进行匹配...

    java使用正则表达式判断手机号的方法示例

    2. java正则表达式的使用:java使用正则表达式可以实现手机号的匹配操作。正则表达式可以定义模式来匹配字符串,例如,"^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$"这个正则表达式可以匹配大多数的手机号码。 3...

    PB实现的正则表达式

    "PB正则表达式"标签直接指向了我们讨论的主题,即在PowerBuilder中使用正则表达式。"PBRegExp"可能是作者创建的一个类或者函数库,用于封装正则表达式的操作。"正则表达式"标签进一步强调了我们要探讨的核心技术。...

    Java正则表达式 Java 正则表达式

    `在正则表达式中具有特殊含义,分别代表零个或多个、一个或多个、零个或一个前一个字符。 4. **范围处理** - 使用方括号`[]`定义字符范围,例如`[a-zA-Z]`表示匹配任何字母。 5. **预定义字符类** - `\s`:匹配...

    Java正则表达式使用

    - **反向引用**:在正则表达式中引用前面已匹配的子串。 正则表达式在Java中提供了丰富的功能,允许开发者进行复杂的文本处理和模式匹配。熟练掌握正则表达式可以极大地提高文本处理的效率和灵活性。

    JAVA正则表达式大全

    2. **正则表达式中的特殊字符** 特殊字符是具有特定含义的字符,例如`\`用于转义,使得原本具有特殊意义的字符如`(`、`)`、`.`等变成普通字符。其他特殊字符如`\d`代表数字,`\s`代表空白字符,`\w`代表单词字符...

    测试正则表达式软件

    本文将详细介绍如何在Java中使用正则表达式以及测试正则表达式的软件。 首先,让我们了解一下Java中的正则表达式基础。在Java中,`java.util.regex`包提供了对正则表达式的支持。主要涉及以下核心类: 1. **...

    Java根据正则表达式生成字符串—Xeger,automaton

    在Java中,我们可以使用RE2J库,它是Google开发的一个高效、安全的正则表达式引擎,支持构造有限状态自动机。虽然RE2J主要设计用于正则表达式的匹配,但通过它的内部机制,我们可以间接地实现字符串生成。 下面是一...

    java Xeger 根据正则表达式生成满足的随机数据

    在Java中使用Xeger,首先需要引入Apache Commons Text库。你可以通过Maven或Gradle将依赖添加到项目中。对于Maven,可以在pom.xml文件中加入以下依赖: ```xml &lt;groupId&gt;org.apache.commons &lt;artifactId&gt;commons...

    常用正则表达式HTML,JAVA合集

    这个合集提供的HTML和Java正则表达式实例,为开发者提供了一个快速参考的工具,帮助他们在开发过程中快速有效地实现数据验证功能。理解并熟练运用这些正则表达式,对于提高代码质量和用户体验都有极大的帮助。在实际...

    Java中如何使用正则表达式

    在Java中,我们通常使用`Pattern`和`Matcher`两个类来操作正则表达式。下面是一个简单的例子: ```java import java.util.regex.*; public class RegexExample { public static void main(String[] args) { // ...

Global site tag (gtag.js) - Google Analytics