private static final String LETTER = "[@+\\p{javaLetter}\\p{javaDigit}]";
private static final String JOINER = "[-.:/'’\\p{M}\\u2032\\u00A0\\u200C\\u200D~]";
private static final Pattern WORD = Pattern.compile(LETTER + "+(" + JOINER + "+"
+ LETTER + "+)*");
我想让LETTER在 "[@+\\p{javaLetter}\\p{javaDigit}]" 这个正则表达式的情况下不能是纯数字,"([@+\\p{javaLetter}\\p{javaDigit}])(^[0-9_]+$)" 不行,应该怎么写啊,不太会,谢谢大神们!
------解决思路----------------------
[a-zA-Z0-9]*[a-zA-Z][a-zA-Z0-9]*
可以试试,单纯数字不行,需要字母或者字母加数字,要是想加上中文把中文范围加上即可~
------解决思路----------------------
貌似没那么复杂吧, 你就匹配整个字符 是不是[0-9]+不就行了么
------解决思路----------------------
纯数字取反就行了。。