欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java正則匹配HTML中a標(biāo)簽里的中文字符示例

 更新時間:2017年01月09日 08:50:09   作者:MikanMu  
這篇文章主要介紹了java正則匹配HTML中a標(biāo)簽里的中文字符,涉及java中文正則及HTML元素操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了java正則匹配HTML中a標(biāo)簽里的中文字符。分享給大家供大家參考,具體如下:

今天群里一位朋友問到了一個正則表達式的問題,有如下內(nèi)容:

<a href='www.baidu.comds=id32434#comment'rewr>特432</a>
453543
<a guhll,,l>a1特123你好123嗎?</a>
<a href=id=32434#comment'ewrer>特2</a>
<a>標(biāo)簽中的文字</a>

現(xiàn)在要匹配出內(nèi)容包含中文但標(biāo)簽的屬性中不包含comment的<a>標(biāo)簽中的漢字。

解決思路如下:

1、首先匹配出不包括comment的<a>標(biāo)簽;

2、在匹配結(jié)果中進行二次匹配出中文;

代碼如下:

package com.mmq.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
 * @use 匹配HTML的<a>標(biāo)簽中的中文字符
 * @ProjectName stuff
 * @Author mumaoqiang
 * @FullName com.mmq.regex.MatchChineseCharacters.java
 * @JDK 1.6.0
 * @Version 1.0
 */
public class MatchChineseCharacters {
  /**
   * 根據(jù)輸入的內(nèi)容,匹配出包含中文但不包含comment的<a>標(biāo)簽中的中文字符
   * @param source 要匹配的內(nèi)容
   * @return <a>標(biāo)簽中的中文字符
   */
  public static String matchChineseCharacters(String source) {
    //匹配出包含中文但不包含comment的<a>標(biāo)簽
    String reg = "<a((?!comment).)*?>([^<>]*?[\\u4e00-\\u9fa5]+[^<>]*?)+(?=</a>)";
    Pattern pattern = Pattern.compile(reg);
    Matcher matcher = pattern.matcher(source);
    StringBuilder character = new StringBuilder();
    while(matcher.find()){
      String result = matcher.group();
      System.out.println(result);
      //對結(jié)果進行二次正則,匹配出中文字符
      String reg1 = "[\\u4e00-\\u9fa5]+";
      Pattern p1 = Pattern.compile(reg1);
      Matcher m1 = p1.matcher(result);
      while(m1.find()){
        character.append(m1.group());
      }
      //System.out.println(character.toString());
    }
    return character.toString();
  }
  public static void main(String[] args) {
    String result = matchChineseCharacters("<a href='www.baidu.comds=id32434#comment'rewr>特432</a>453543<a guhll,,l>a1特123你好123嗎?</a><a href=id=32434#comment'ewrer>特2</a><a>標(biāo)簽中的文字</a>");
    System.out.println(result);
  }
}

輸出結(jié)果如下:

<a guhll,,l>a1特123你好123嗎?
<a>標(biāo)簽中的文字
特你好嗎標(biāo)簽中的文字

這里做一下解釋:

String reg = "<a((?!comment).)*?>([^<>]*?[\\u4e00-\\u9fa5]+[^<>]*?)+(?=</a>)";

這個匹配內(nèi)容包含中文但標(biāo)簽的屬性中不包含comment的<a>標(biāo)簽的正則中,不能使用向后查找?<=,因為向后查找只能是固定長度的內(nèi)容,這里<a>標(biāo)簽中屬性不確定,所以不能使用;[\\u4e00-\\u9fa5]+匹配中文字符串;而(?=</a>)使用向前查找?=,在結(jié)果中不會包含結(jié)束標(biāo)簽</a>。

這個問題就這樣得到解決了。如果說要匹配指定標(biāo)簽中的指定內(nèi)容,那么也是很容易改進的了。若有更好的正則,還請留言相互學(xué)習(xí)。

PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:

JavaScript正則表達式在線測試工具:
http://tools.jb51.net/regex/javascript

正則表達式在線生成工具:
http://tools.jb51.net/regex/create_reg

希望本文所述對大家java程序設(shè)計有所幫助。

相關(guān)文章

  • SpringBoot之spring.factories的使用方式

    SpringBoot之spring.factories的使用方式

    這篇文章主要介紹了SpringBoot之spring.factories的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Java實現(xiàn)無向圖的示例詳解

    Java實現(xiàn)無向圖的示例詳解

    邊沒有方向的圖稱為無向圖,直觀來說,若一個圖中每條邊都是無方向的,則稱為無向圖。本文將通過示例詳細講解Java如何實現(xiàn)無向圖,需要的可以參考一下
    2022-04-04
  • springsecurity記住我登錄時訪問無權(quán)限接口跳轉(zhuǎn)登錄界面的處理方案

    springsecurity記住我登錄時訪問無權(quán)限接口跳轉(zhuǎn)登錄界面的處理方案

    這篇文章主要介紹了springsecurity記住我登錄時訪問無權(quán)限接口跳轉(zhuǎn)登錄界面的處理方案,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-02-02
  • java?NIO實現(xiàn)簡單聊天程序

    java?NIO實現(xiàn)簡單聊天程序

    這篇文章主要為大家詳細介紹了java?NIO實現(xiàn)簡單聊天程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Spring中如何使用Comparator接口

    Spring中如何使用Comparator接口

    Comparator比較器接口可以將自身傳遞給排序方法(比如Collections.sort或Arrays.sort),以便對排序順序進行精確控制。本文講述Spring中如何使用Comparator接口
    2021-06-06
  • Spring實現(xiàn)類私有方法的幾個問題(親測通用解決方案)

    Spring實現(xiàn)類私有方法的幾個問題(親測通用解決方案)

    現(xiàn)實的業(yè)務(wù)場景中,可能需要對Spring的實現(xiàn)類的私有方法進行測試。本文給大家分享Spring實現(xiàn)類私有方法面臨的幾個問題及解決方案,感興趣的朋友跟隨小編一起看看吧
    2021-06-06
  • java之如何定義USB接口

    java之如何定義USB接口

    這篇文章主要介紹了java之如何定義USB接口問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • SpringMVC中攔截器的實現(xiàn)

    SpringMVC中攔截器的實現(xiàn)

    SpringMVC 中的 Interceptor 攔截器是非常重要和相當(dāng)有用的,它的主要作用是攔截指定的用戶請求,并進行相應(yīng)的預(yù)處理與后處理,這篇文章主要介紹了SpringMVC的攔截器相關(guān)知識,需要的朋友可以參考下
    2022-01-01
  • Java MyBatis可視化代碼生成工具使用教程

    Java MyBatis可視化代碼生成工具使用教程

    這篇文章主要介紹了Java MyBatis可視化代碼生成工具使用教程,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11
  • Spring Boot Admin 快速入門詳解

    Spring Boot Admin 快速入門詳解

    這篇文章主要介紹了SpringBoot Admin 使用指南(推薦),Spring Boot Admin 是一個管理和監(jiān)控你的 Spring Boot 應(yīng)用程序的應(yīng)用程序,非常具有實用價值,需要的朋友可以參考下
    2021-11-11

最新評論