当前位置: 代码迷 >> J2EE >> 正则表达式 不能是纯数字解决办法
  详细解决方案

正则表达式 不能是纯数字解决办法

热度:25   发布时间:2016-04-17 23:23:15.0
正则表达式 不能是纯数字

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]+不就行了么
------解决思路----------------------
纯数字取反就行了。。
  相关解决方案