この記事では、HTMLのタグAの漢字を定期的に一致させる例について説明します。次のように、参照のために共有してください。
今日、グループの友人は、次のコンテンツを含む正規表現について質問しました。
<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> text 2 </a> <a> text </a>
これで、コンテンツに中国語が含まれているが、属性にコメントが含まれていない<a>タグの漢字を一致させたいと思うようになります。
解決策は次のとおりです。
1。コメントを含めない<a>タグを最初に一致させます。
2。一致する結果で二次試合を行い、中国語を生産します。
コードは次のとおりです。
パッケージcom.mmq.regex; import java.util.regex.matcher; Import java.util.regex.pattern;/** * @use html * @projectname fortの<a>タグの漢字を一致させる1.6.0* @version 1.0*/public class matchschinesecharacters {/***入力に基づいて、中国語を含むがコメントを含んでいない<a>タグのタグの漢字と一致する* @return漢字* @return漢字*/public static string patchinesecharecarcters(string source) <a((?!コメント)。)*?>([^<>]*?[// u4e00- // u9fa5]+[^<>]*?)+(?= </a>) ";パターンパターン= pattern.compile(reg); matcher matcher = pattern.matcher(source); stringbuilder character = new StringBuilder(); while(matcher.find()){string result = matcher.group(); system.out.println(result); //結果を第2四半期の正規化を行い、漢字文字列reg1 = "[// u4e00- // u9fa5]+";パターンP1 = pattern.compile(reg1); Matcher M1 = P1.Matcher(結果); while(m1.find()){character.append(m1.group()); } //system.out.println(character.tostring()); } returnChealiture.toString(); } public static void main(string [] args){string result = matchschinesecharacters( "<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(result); }}出力の結果は次のとおりです。
<guhll、l> a1special123 hello 123? <a>タグのテキスト、お元気ですか?
これが説明です:
string reg = "<a((?!コメント)。)*?>([^<>]*?[// u4e00- // u9fa5]+[^<>]*?)+(?= </a>)";
この一致するコンテンツには中国語が含まれていますが、タグ属性にはコメントは含まれていません。後方検索は使用できません。<=後方検索は固定長のコンテンツのみであるため、使用できません。タグの属性は不確かなため、使用できません。 [// u4e00- // u9fa5]+は中国の弦を一致させます。 (?= </a>)Forward Search?=を使用し、結果にエンドタグが含まれません。
この問題は解決しました。指定されたタグで指定されたコンテンツを一致させる場合は、改善も簡単です。より良いルールがある場合は、お互いから学ぶためにメッセージを残してください。
PS:参照用の2つの非常に便利な正規表現ツールを次に示します。
JavaScript正規表現オンラインテストツール:
http://tools.vevb.com/regex/javascript
正規表現オンライン生成ツール:
http://tools.vevb.com/regex/create_reg
この記事がみんなのJavaプログラミングに役立つことを願っています。