如何使用Java RegEx匹配非单词字符?
除英语字母(均为大小写)和数字(0至9)以外的所有字符均被视为非单词字符。您可以使用元字符“\W”来匹配它们。
例子1
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String args[]) {
//从用户读取字符串
System.out.println("Enter a String");
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
String regex = "^\\W{5}";
//编译正则表达式
Pattern pattern = Pattern.compile(regex);
//检索匹配器对象
Matcher matcher = pattern.matcher(input);
if(matcher.find()) {
System.out.println("Match occurred");
} else {
System.out.println("Match not occurred");
}
}
}输出1
Enter a String *&&^# Match occurred
输出2
Enter a String hello Match not occurred
例子2
import java.util.Scanner;
public class RegexExample {
public static void main( String args[] ) {
String regex = "\\W*";
System.out.println("Enter input value: ");
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
boolean bool = input.matches(regex);
if(bool) {
System.out.println("match occurred");
} else {
System.out.println("match not occurred");
}
}
}输出结果
Enter input value: #*** match occurred