Java 正则表达式匹配非 GBK 编码字符 - 排除空格和标点符号
Java 正则表达式匹配非 GBK 编码字符 - 排除空格和标点符号
本文介绍如何使用 Java 正则表达式匹配字符串中非 GBK 编码字符,同时排除空格和标点符号。
示例:
在字符串 'BRITÂNIA COMPONENTES ELETRÔNICOS LTDA' 中匹配到 'Â' 和 'Ô'。
正则表达式:
(?<![\p{Punct}\s])[^\p{InGBK}&&\P{C}]
解释:
(?<![\p{Punct}\s]):使用负向零宽断言,匹配前面不是标点符号或空格的字符。[^\p{InGBK}&&\P{C}]:使用字符类,匹配不是 GBK 编码范围内的字符且不是控制字符的字符。
代码示例:
String input = "BRITÂNIA COMPONENTES ELETRÔNICOS LTDA";
Pattern pattern = Pattern.compile("(?<![\p{Punct}\s])[^\p{InGBK}&&\P{C}]");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
System.out.println(matcher.group());
}
输出结果:
Â
Ô
总结:
通过使用负向零宽断言和字符类,我们可以轻松地使用正则表达式匹配非 GBK 编码字符,并排除空格和标点符号。
原文地址: https://www.cveoy.top/t/topic/ofUM 著作权归作者所有。请勿转载和采集!