中文字符匹配java_java正则匹配HTML中a标签里的中文字符示例
java正則匹配HTML中a標簽里的中文字符示例
發布于 2020-8-12|
復制鏈接
摘記: 本文實例講述了java正則匹配HTML中a標簽里的中文字符。分享給大家供大家參考,具體如下:今天群里一位朋友問到了一個正則表達式的問題,有如下內容:
```xhtml
特432
453543
a1特123你 ..
本文實例講述了java正則匹配HTML中a標簽里的中文字符。分享給大家供大家參考,具體如下:今天群里一位朋友問到了一個正則表達式的問題,有如下內容:
```xhtml
特432
453543
a1特123你好123嗎?
特2
標簽中的文字
```
現在要匹配出內容包含中文但標簽的屬性中不包含comment的標簽中的漢字。解決思路如下:1、首先匹配出不包括comment的標簽;2、在匹配結果中進行二次匹配出中文;代碼如下:
```java
package com.mmq.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @use 匹配HTML的標簽中的中文字符
* @ProjectName stuff
* @Author mumaoqiang
* @FullName com.mmq.regex.MatchChineseCharacters.java
* @JDK 1.6.0
* @Version 1.0
*/
public class MatchChineseCharacters {
/**
* 根據輸入的內容,匹配出包含中文但不包含comment的標簽中的中文字符
* @param source 要匹配的內容
* @return 標簽中的中文字符
*/
public static String matchChineseCharacters(String source) {
//匹配出包含中文但不包含comment的標簽
String reg = "([^]*?[\\u4e00-\\u9fa5]+[^]*?)+(?=)";
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);
//對結果進行二次正則,匹配出中文字符
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("特432453543a1特123你好123嗎?特2標簽中的文字");
System.out.println(result);
}
}
```
輸出結果如下:
```xhtml
a1特123你好123嗎?
標簽中的文字
特你好嗎標簽中的文字
```
這里做一下解釋:
```java
String reg = "([^]*?[\\u4e00-\\u9fa5]+[^]*?)+(?=)";
```
這個匹配內容包含中文但標簽的屬性中不包含comment的標簽的正則中,不能使用向后查找?標簽中屬性不確定,所以不能使用;[\\u4e00-\\u9fa5]+匹配中文字符串;而(?=)使用向前查找?=,在結果中不會包含結束標簽。這個問題就這樣得到解決了。如果說要匹配指定標簽中的指定內容,那么也是很容易改進的了。若有更好的正則,還請留言相互學習。PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的中文字符匹配java_java正则匹配HTML中a标签里的中文字符示例的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: wps日期加减算天数_日期相减之后的天数
- 下一篇: 递归算法经典实例 java_java实现
