`
jsczxy2
  • 浏览: 1275287 次
  • 性别: Icon_minigender_1
  • 来自: 常州
文章分类
社区版块
存档分类
最新评论

java使用正则截取重复两个字符串之间的值

阅读更多

假设有段html内容如下:

 

受付番号 : 20120723-004206
注文日  : 2012年 7月 23日
  ○商品名:黄瀬涼太の笠松センパイ観察記
  ○数量 :1個
  ○価格 :\628 

受付番号 : 20120728-006047
注文日  : 2012年 7月 28日
  ○商品名:Shadow Dance
  ○数量 :1個
  ○価格 :\893 

送料    : \XXX...

 

 其实这是封邮件中内容,每行都会以\n分隔,要求用正则表达式获取每一段受付番号中的内容(另外其实也可以使用非贪婪模式.*?会进行最小匹配)。方法如下:

 

 /**
     * 截取html块
     * @return
     */
    public static List<String> getContentByEachHtml(String html){
    	List<String> htmls = null;
        //使用零宽断言(.*?中?的作用是避免贪婪匹配)

    	String regex = "(?<=" + "受付番号 :" + ")(.*?)(?=" + "(受付番号 :|送料    :)" + ")";
    	//默认正则会按\n自动截断字符,这里不能截断,需要整体HTML块,因此设定Pattern.DOTALL忽略\n截断使用整体文本
        Pattern pattern = Pattern.compile(regex,Pattern.DOTALL);
    	Matcher matcher = pattern.matcher(html);
    	while(matcher.find()){
    		if(htmls == null)
    			htmls = new ArrayList<String>();
    		htmls.add(matcher.group(1));
    	}
    	return htmls;
    }
分享到:
评论

相关推荐

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

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

    Java使用正则表达式提取XML节点内容的方法示例

    正则表达式是指一个模式串,它由一些特殊的符号和字符组成,用于描述一个字符串的模式。Java中提供了对正则表达式的支持,使得开发者可以使用正则表达式来匹配和提取字符串中的内容。 二、XML节点内容提取方法 在...

    java 正则表达式获取两个字符中间的字符串方法

    本篇文章将详细介绍如何使用Java正则表达式来获取两个特定字符之间的字符串,并通过一个具体的实例进行演示。 首先,让我们理解正则表达式的概念。正则表达式(Regular Expression)是一种模式,用于匹配字符串的...

    Java使用正则表达式截取重复出现的XML字符串功能示例

    本示例将介绍如何利用正则表达式来截取重复出现的XML字符串。XML(Extensible Markup Language)是用于描述数据的语言,常用于存储和传输数据。 在提供的代码片段中,我们看到一个Java方法,它展示了如何通过正则...

    截取字符串

    在编程领域,字符串操作是一项基础且重要的任务,而“截取字符串”是其中的一个关键功能。这个小demo展示了如何在不同的编程环境中实现字符串截取,同时也涉及到字符串的空格处理。接下来,我们将深入探讨这两个主题...

    Java截取特定两个标记之间的字符串实例

    本篇文章将详细介绍如何使用Java来截取特定两个标记之间的字符串。 首先,假设我们有一个字符串,其中包含两个特定的标记,例如尖括号`和`&gt;`。我们需要找到这两个标记之间的子串。以下是一个简单的示例: ```java ...

    直接截取jstl长度控制字符串长短

    -- 使用fn:containsIgnoreCase忽略大小写判断字符串中是否包含另一个字符串 --&gt; ${fn:containsIgnoreCase('这是一个TeSt', 'test')}"&gt; 字符串中包含"test" (忽略大小写) &lt;!-- 使用fn:toLowerCase将字符串转换为...

    Java精确截取字符串.pdf

    然而,当处理包含中文字符的字符串时,简单的按字符截取可能会出现问题,因为中文字符通常占用两个字节,而英文字符只占用一个字节。为了实现更精确的截取,可以采用如下的方法: ```java private String str; ...

    安卓字符串匹配加截取

    3. **Pattern.split()**:通过正则表达式进行分隔截取,返回一个字符串数组。 ```java String[] parts = str.split("分隔符正则表达式"); ``` 4. **TextUtils.SimpleStringSplitter**:这个类提供了一个简单的...

    java正则表达式大全。。

    - **说明**:通过将每个多字节字符替换为两个字符("aa"),然后计算结果字符串的长度来实现。 #### 4. 去除首尾空白字符 ```java public static String trim(String str) { return str.replaceAll("^(\\s*)|(\\s*$)...

    Java正则提取中括号中的内容操作示例

    本文主要介绍了Java正则提取中括号中的内容操作,涉及Java针对字符串的正则匹配、转换、遍历等相关操作技巧。 正则表达式的基本概念 正则表达式(Regular Expression)是一种字符串处理的模式匹配技术。它可以用来...

    正则匹配字符串中Ip

    在给定的代码示例中,展示了如何使用正则表达式从一个字符串中提取出IPv4地址。以下是代码的分析和解释: ```java /** * @功能 取得Ip * @作者 LiuWeiGuang * @日期 2010-3-29 11:50:17 * @参数 pString * @...

    JAVA 字符串应用笔记

    字符串字面量会被放入常量池,如果两个字符串字面量相同,它们会指向同一个对象。 7. **字符串比较**: 使用`compareTo(String anotherString)`或`compareToIgnoreCase(String anotherString)`进行字符串的自然...

    字符串分割

    在处理CSV(逗号分隔值)文件或者处理包含多个部分的信息时,字符串分割尤其有用。例如,邮件地址通常包含用户名和域名,通过分割可以轻松地提取这两个部分。 在项目`SplitStr_Project`中,很可能包含了使用各种...

    Java精确截取字符串[归类].pdf

    在Java编程中,有时我们需要对字符串进行精确的截取,以适应特定的显示需求或处理长文本。在上述内容中,主要讨论了两种常见的Java字符串截取方法。 第一种方法是使用`substring()`函数,这是一个基础且直接的字符...

    java代码-截取首尾两个字符串中间的字符串

    在Java编程语言中,截取首尾两个特定字符串之间的子串是一项常见的操作,尤其...以上就是关于“java代码-截取首尾两个字符串中间的字符串”这个主题的主要知识点。通过理解这些内容,开发者可以灵活地处理类似的需求。

    java字符串处理-中英文-非常有用的

    - 当遍历完整个字符串或达到指定长度时,返回处理后的字符串。 #### 三、兼容性分析 - **中文字符处理**:由于中文字符在UTF-8编码下通常占用三个字节,但这里为了简化问题,将其视为两个字节进行处理。这种方法...

    Java 字符串操作源码实例集.rar

    使用正则表达式将字符串分割成一个字符数组,例如`str.split(delimiter)`。 11. **toUpperCase() 和 toLowerCase()**: 将字符串转换为大写或小写。 12. **StringBuffer 和 StringBuilder**: 当需要大量修改...

    java 获取字符串的子串

    在Java编程语言中,获取字符串的子串是一项基础且重要的操作。这通常涉及到对字符串对象进行操作,以提取其中的一部分字符序列。字符串是不可变的,因此在Java中,我们不能直接修改已创建的字符串对象。为了获取子串...

    String 截取字符串方法subString()

    通过`Pattern.compile`编译正则表达式,然后使用`Matcher`对象的`find`或`group`方法来截取字符串。这通常用于更复杂的字符串处理,例如在特定模式下截取子串。 在实际编程中,选择哪种方法取决于具体需求。`...

Global site tag (gtag.js) - Google Analytics