我有以下正则表达式:
String regExpression = "^[a-zA-Z0-9+,. '-]{1,"+maxCharacters+"}$";
对我而言,它很好用,但是它不允许其中包含任何UTF-8音标符号(Ă ă Â â Î î Ș ș Ț ț)。
除了目前已经支持的内容,我只需要我的正则表达式接受这些音标符号。
非常感谢您的帮助。
\p{Graph} 可见字符: [\p{Alnum}\p{Punct}]
或者\p{Print} 可打印字符: [\p{Graph}\x20]
\p{L}
(字母)。import java.util.regex.Pattern;
public class Regexer {
public static void main(String[] args) {
int maxCharacters = 100;
String data = "Ă ă Â â Î î Ș ș Ț ț";
String pattern = "^[\\p{L}0-9+,. '-]{1," + maxCharacters + "}$";
Pattern p = Pattern.compile(pattern);
if (p.matcher(data).matches()) {
System.out.println("Hit");
} else {
System.out.println("No");
}
}
}
这对我来说可行。