JAva中国語の正規表現にマッチ
Javaの正規表現はどのように中国語の文字にマッチしますか?
次に、すべての中国語文字を一致させる例を示します.
出力は次のとおりです.
注記:すべての中国語文字に一致する正規表現は次のとおりです.
したがって、Javaの正規表現は中国語の文字に一致するとともに、中国語の文字で表現を書くこともできます.例えば、上の文字は次の文字に一致します.
上記の例の中国語の正規表現は、次のように書くこともできます.
しかし、柔軟性のためには、中国語で正規表現を書かないほうがいいです.このように書くのは死にすぎて、うっかり複数のスペースが一致しません.
次に、すべての中国語文字を一致させる例を示します.
public static void regxChinese(){
//
String source = "<span title='5 ' class='dx dx5'>";
//
// source = source.toLowerCase();
//
String reg_charset = "<span[^>]*?title=\'([0-9]*[\\s|\\S]*[\u4E00-\u9FA5]*)\'[\\s|\\S]*class=\'[a-z]*[\\s|\\S]*[a-z]*[0-9]*\'";
Pattern p = Pattern.compile(reg_charset);
Matcher m = p.matcher(source);
while (m.find()) {
System.out.println(m.group(1));
}
}
出力は次のとおりです.
5
注記:すべての中国語文字に一致する正規表現は次のとおりです.
[\u4E00-\u9FA5] ﹐[\uFE30-\uFFA0]
したがって、Javaの正規表現は中国語の文字に一致するとともに、中国語の文字で表現を書くこともできます.例えば、上の文字は次の文字に一致します.
5
上記の例の中国語の正規表現は、次のように書くこともできます.
String reg_charset = "<span[^>]*?title=\'([0-9]*[\\s|\\S]* )\'[\\s|\\S]*class=\'[a-z]*[\\s|\\S]*[a-z]*[0-9]*\'";
しかし、柔軟性のためには、中国語で正規表現を書かないほうがいいです.このように書くのは死にすぎて、うっかり複数のスペースが一致しません.