求个正则表达式java的

2025-01-02 05:54:57
推荐回答(1个)
回答1:

你这儿需求应该用:

String regex = "[\\x21-\\x7E]+";

import java.util.regex.Pattern;

public class Demo {

public static void main(String[] args) throws Exception {
String regex = "[\\x21-\\x7E]+";
Pattern pattern = Pattern.compile(regex);
System.out.println(pattern.matcher("12345").matches());
System.out.println(pattern.matcher("afdfargeaweg").matches());
System.out.println(pattern.matcher("~!@#$%^&*()_+-={}|[]").matches());
System.out.println(pattern.matcher("afdfwe234124*&^%%").matches());
}

}

你会发现输出都是 true。

\\x21-\\x7E 代表 ASCII 从 33~126 的字符(\x 是16进制的意思)。看 ASCII 码表:

你会发现你要求的字符正是从 33 ~ 126。(32 是空格,127 是 Backspace(就是我们常用的的删除键对应的字符)。