Java怎么用正则表达式过滤出字母、数字和中文
正则表达式是一种强大的文本匹配工具,可以用来进行字符串的模式匹配与检索。在Java中,可以使用正则表达式过滤出字母、数字和中文。下面将分为三个段落介绍如何使用正则表达式来实现。
1. 过滤字母
使用正则表达式来过滤字母可以使用字符类(character class)来匹配大写字母和小写字母。其中,表达式[a-zA-Z]可以匹配任意大小写的字母。
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String input = "abc123ABC中文";
String regex = "[a-zA-Z]+";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
System.out.println(matcher.group());
}
}
}
上述代码输出结果为:
abc ABC
2. 过滤数字
使用正则表达式过滤数字可以使用字符类\d来匹配数字。字符类\d等价于[0-9],可以匹配任意一个数字。
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String input = "abc123ABC中文";
String regex = "\\d+";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
System.out.println(matcher.group());
}
}
}
上述代码输出结果为:
123
3. 过滤中文
使用正则表达式过滤中文可以使用Unicode编码来匹配中文字符。中文字符的Unicode编码范围为\u4e00-\u9fa5。
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String input = "abc123ABC中文";
String regex = "[\\u4e00-\\u9fa5]+";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
System.out.println(matcher.group());
}
}
}
上述代码输出结果为:
中文
综上所述,使用正则表达式可以过滤出字母、数字和中文。对于字母可以使用字符类[a-zA-Z],对于数字可以使用字符类\d,对于中文可以使用Unicode编码范围[\u4e00-\u9fa5]来匹配。
猜您想看
-
微信小程序是什么,如何使用?
什么是微信小程...
2023年05月15日 -
如何解决Pycharm里安装包慢的问题
1.更换源Py...
2023年05月26日 -
Fabric区块链kafka共识怎么理解
Fabric区...
2023年05月26日 -
怎么在Linux下调节屏幕亮度
使用xrand...
2023年07月23日 -
如何在Edge浏览器中打开新的无痕浏览器
Edge浏览器...
2023年05月13日 -
ShardingSphere中JDBC规范与ShardingSphere如何理解
1、JDBC规...
2023年05月22日