`
gstarwd
  • 浏览: 1536738 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java核心技术 正则表达式

阅读更多

import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;

/**
* This program displays all URLs in a web page by matching a regular expression that describes the
* <a href=...> HTML tag. Start the program as <br>
* java HrefMatch URL
* @version 1.01 2004-06-04
* @author Cay Horstmann
*/
public class HrefMatch
{
   public static void main(String[] args)
   {
      try
      {
         // get URL string from command line or use default
         String urlString;
         if (args.length > 0) urlString = args[0];
         else urlString = "
http://java.sun.com ";

         // open reader for URL
         InputStreamReader in = new InputStreamReader(new URL(urlString).openStream());

         // read contents into string builder
         StringBuilder input = new StringBuilder();
         int ch;
         while ((ch = in.read()) != -1)
            input.append((char) ch);

         // search for all occurrences of pattern
         String patternString = "<a\\s+href\\s*=\\s*(\"[^\"]*\"|[^\\s>])\\s*>";
         Pattern pattern = Pattern.compile(patternString, Pattern.CASE_INSENSITIVE);
         Matcher matcher = pattern.matcher(input);

         while (matcher.find())
         {
            int start = matcher.start();
            int end = matcher.end();
            String match = input.substring(start, end);
            System.out.println(match);
         }
      }
      catch (IOException e)
      {
         e.printStackTrace();
      }
      catch (PatternSyntaxException e)
      {
         e.printStackTrace();
      }
   }
}

分享到:
评论

相关推荐

    PB实现的正则表达式

    "正则表达式"标签进一步强调了我们要探讨的核心技术。最后,"PB11.5"标签再次确认了所使用的PowerBuilder版本。 在压缩包中的"PbRegeXP"文件可能是作者提供的一个示例代码或库,包含了实现正则表达式的类、函数或...

    强大的JAVA正则表达式处理包jakarta-oro

    Java正则表达式是编程语言中的一个重要组成部分,用于文本处理和模式匹配。Jakarta ORO(Oracle Regular Expressions for Java)是Apache软件基金会开发的一个强大的Java正则表达式库,它为开发者提供了更为灵活和...

    servlet 正则表达式

    正则表达式(Regular Expression)在Servlet中主要用于URL映射,过滤请求以及数据验证。本文将深入探讨Servlet与正则表达式如何结合使用,以实现更灵活、强大的Web服务。 1. **URL映射中的正则表达式** 在Servlet ...

    C#和JAVA正则表达式

    在C#和Java这两种广泛使用的编程语言中,正则表达式都扮演着重要的角色,尤其在处理网页技术时,如HTML解析、数据提取等场景。 在C#中,正则表达式是通过`System.Text.RegularExpressions`命名空间中的`Regex`类来...

    精通正则表达式电子书

    - **Java的深入探讨**:更新了全书内容,特别是增加了对Sun公司的java.util.regex包的深入探讨,这是Java中标准的正则表达式实现。 - **不同版本之间的比较**:书中还包含了对不同语言和工具版本中的正则表达式特性...

    java IO系统与正则表达式

    Java IO系统是Java平台中处理输入输出操作的核心组件,它为开发者提供了丰富的类库,用于读写文件、网络通信以及...学习和掌握这两个核心技术,对于Java开发人员来说至关重要,能大大提高其在实际项目中的工作效率。

    正则表达式经典实例

    《正则表达式经典实例》这本书深入浅出地介绍了正则表达式的基本概念和高级特性,并提供了丰富的实例,覆盖了C#、Java、JavaScript、Perl、PHP、Python、Ruby和VB.NET等多种编程语言。 #### 二、核心内容概览 1. *...

    精通正则表达式(第三版,中文版)

    正则表达式的核心在于其语法,包括各种字符类、量词、分组、断言等元素。例如,字符类(如 `[abc]`)用于匹配指定范围内的任意单个字符;量词(如 `*`、`+`、`?`)用于控制匹配次数,实现零次、一次或多次匹配;分组...

    正则表达式 系统教程

    无论是在Java、Python、C、C++还是.NET等编程语言中,正则表达式都能提供一致的语法和功能,使得程序员可以跨平台地应用这些技术。 正则表达式的语法由一系列字符和特殊符号组成,它们组合在一起形成模式,这个模式...

    正则表达式与JSP课件

    【正则表达式与JSP课件】是一个深入讲解Web开发技术的课程资源包,涵盖了JSP、Servlet、J2EE以及正则表达式等多个关键领域。这些知识点在现代Web应用开发中扮演着至关重要的角色。 首先,让我们来探讨一下**正则...

    java正则表达式入门学习

    对于Java开发者来说,掌握正则表达式的基本概念和技术是非常重要的,尤其是在涉及到字符串处理、数据验证、搜索和替换等方面。 #### 二、Java中的正则表达式实现 在Java中,正则表达式的实现主要通过`java.util....

    精通正则表达式(第三版)pdf

    正则表达式的核心在于它的语法和特殊字符。基本的语法包括字符集(如 `[abc]` 匹配 'a'、'b' 或 'c')、量词(如 `*` 表示前面的字符可以出现零次或多次,`+` 表示至少一次,`?` 表示零次或一次)以及重复和位置控制...

    ibatis例子加教程&java&javascript&dhtml&正则表达式工具

    标题中的“ibatis例子加教程&java&javascript&dhtml&正则表达式工具”涵盖了五个主要的IT技术领域:iBATIS、Java、JavaScript、DHTML和正则表达式。接下来,我们将深入探讨这些技术及其相关的知识点。 1. iBATIS: ...

    JAVA 正则表达式 (超详细)

    此书详细介绍了正则表达式的各种概念和技术,可以帮助你更好地理解和利用Java的正则表达式功能。 总之,Java的`java.util.regex`包提供了全面的正则表达式支持,使Java程序员能够在字符串处理任务中发挥强大的能力...

    精通正则表达式英文原版-第3版

    书中的内容涵盖了许多语言和工具的正则表达式版本之间的功能比较,解释了正则表达式引擎的工作原理,并且着重讲解了优化技术(此处有很大的节约空间!)。它帮助你只匹配你想要的内容,而不是你不想的内容。书中还...

    [精通正则表达式(第三版)].(美)佛瑞德.扫描版.pdf

    ### 正则表达式的核心概念 1. **字符类**:例如`[a-z]`表示任意的小写字母。 2. **量词**:如`*`代表匹配前面的字符零次或多次;`+`代表匹配前面的字符一次或多次;`?`代表匹配前面的字符零次或一次。 3. **位置...

    Struts2,Spring,MySql,正则表达式等各类API帮助文档

    Struts2、Spring、MySql和正则表达式是软件开发中的核心技术和工具,它们各自在不同的领域发挥着重要作用。 Struts2是一个基于MVC(Model-View-Controller)架构的开源Java Web框架,用于构建可维护性高、结构清晰...

    [精通正则表达式(第3版)]中英文双版.(美)Jeffrey.E.F.Friedl

    正则表达式是编程语言中用于模式匹配和文本搜索的关键技术,广泛应用于数据验证、文本提取、搜索与替换等多个领域。 在书中,Friedl详细介绍了正则表达式的语法、元字符、量词、分组、回溯、选择和位置匹配等核心...

    精通正则表达式

    "精通正则表达式"这本书,特别是第三版,由(美)佛瑞德所著,是深入学习这一技术的经典教材。 1. **基础概念** - **模式匹配**:正则表达式的核心就是定义一种模式,用于匹配符合规则的字符串。 - **元字符**:...

Global site tag (gtag.js) - Google Analytics