이 기사에서는 HTML의 태그 A에서 Java 정기적 인 중국어 매칭의 예를 설명합니다. 다음과 같이 참조에 대해 공유하십시오.
오늘 그룹의 친구가 정규 표현에 대해 질문을했는데, 여기에는 다음 내용이 포함되어 있습니다.
<a href = 'www.baidu.comds = id32434#comment'rewr> special432 </a> 453543 <a guhll ,, l> a1special123 당신은? </a> <a href = id = 32434#comment'ewrer> special 2 </a> <a> 텍스트 2 </a> <a> 텍스트 </a>
이제 내용에 중국어가 포함되어 있지만 속성에 댓글이 포함되어 있지 않은 <a> 태그의 한자를 일치 시키려고합니다.
솔루션은 다음과 같습니다.
1. 먼저 주석을 포함하지 않는 <a> 태그와 일치합니다.
2. 중국어를 생산하기 위해 일치하는 결과에서 2 차 일치를 만듭니다.
코드는 다음과 같습니다.
package com.mmq.regex; import java.util.regex.matcher; import java.util.regex.pattern;/** * @use html * @projectname stups의 <a> 태그에서 중국어와 일치 * @version 1.0*/public class matchchinesecharacters {/*** 입력에 따라 중국어를 포함하지만 <a> 태그에 <a> 태그를 포함하지 않는 <a> 태그* @param 소스 컨텐츠*/public static string matchchineseecharacters (문자열 소스) {// <a> 태그가 포함되어 있지 않지만 주석을 포함하지 않는다. "<a (?! comment).)*?> ([^<>]*? 패턴 패턴 = Pattern.compile (reg); 매치기 매치 자 = Pattern.Matcher (소스); StringBuilder 문자 = new StringBuilder (); while (matcher.find ()) {문자열 result = mayser.group (); System.out.println (결과); // 결과 2 차 정규화를하고 중국어 문자열 reg1 = "[// u4e00-// u9fa5]+"; 패턴 p1 = pattern.compile (reg1); 매치 자 M1 = P1.Matcher (결과); while (m1.find ()) {문자 .append (m1.group ()); } //system.out.println (문자 .toString ()); } return atribute.toString (); } public static void main (string [] args) {문자열 result = matchchinesecharacters ( "<a href = 'www.baidu.comds = id32434#comment'rewr> special432 </a> 453543 <a guhll, l> a1special123hello123? href = id = 32434#comment'ewrer> special2 </a> <a> text2 </a> <a> text </a> "); System.out.println (결과); }}출력 결과는 다음과 같습니다.
<a Guhll ,, l> a1special123 Hello 123? <a> 태그의 텍스트, 어떻게 지내세요?
설명은 다음과 같습니다.
문자열 reg = "<a (?! comment).)*?> ([^<>]*?
이 일치하는 컨텐츠에는 중국어가 포함되어 있지만 태그 속성에는 주석이 포함되어 있지 않습니다. 뒤로 검색은 고정 길이 만 내용 일 수 있으므로 뒤로 검색? <= 사용할 수 없습니다. 태그의 속성은 불확실하므로 사용할 수 없습니다. [// u4e00-// u9fa5]+ 중국 문자열과 일치합니다. (? = </a>)는 전방 검색을 사용하고 결과에 최종 태그가 포함되지 않습니다.
이 문제는 해결되었습니다. 지정된 태그의 지정된 컨텐츠를 일치시키려면 개선하기도 쉽습니다. 더 나은 규칙이 있으면 서로에게서 배울 메시지를 남겨주세요.
추신 : 참조를위한 매우 편리한 정규 표현 도구는 다음과 같습니다.
자바 스크립트 정규 표현 온라인 테스트 도구 :
http://tools.vevb.com/regex/javaScript
정규 표현 온라인 세대 도구 :
http://tools.vevb.com/regex/create_reg
이 기사가 모든 사람의 Java 프로그래밍에 도움이되기를 바랍니다.