java数字字母正则表达式
① 镐庢牱鐢╦ava鍒嗗壊瀛楁瘝鍜屾暟瀛楋纻渚嫔侫12 B23 C34 DE5 瑕佸彉鎴 A 12 B 23 C34 DE 5杩欐牱瀛愶纻
涓ょ嶆柟娉曪细
1. 鐢ㄦe垯琛ㄨ揪寮
String line = "A12";
Pattern p = Pattern.compile("[a-zA-Z]+|\\d+");//杩欎釜姝e垯琛ㄨ揪寮忚〃绀哄瓙涓插彲浠ユ槸鏁板瓧涓诧纴涔熷彲浠ユ槸瀛楁瘝涓诧纴浣嗘槸涓嶈兘娣峰悎锛岃繖镙峰氨鑳藉垎寮浜
Matcher m = p.matcher(line);//Matcher 鏄鐢ㄦe垯琛ㄨ揪寮厮attern鏋勯犲嚭𨱒ョ殑鍖归厤鍣ㄧ被鐢ㄦ潵鍖归厤瀛楃︿覆line镄
while(m.find())//鐢╢ind()鏂规硶𨱒ユ垒鐩镙囦覆涓绗﹀悎Pattern妯″纺镄勫瓙瀛楃︿覆
{
System.out.println(m.group()+" ");// group()杩斿洖镓惧埌镄勫尮閰嶅瓙瀛楃︿覆
}
2. 鐢–haracter绫昏嚜甯︾殑isDigit()鍜宨sLetter()
String line = "A12";
char[] array = line.toCharArray();
ArrayList<Character> newList = new ArrayList<Character>();//鐢ㄦ潵瀛桦偍鏂扮殑瀛楃︿覆
int index = 0;
for(index = 0; index < array.length-1; index++)
{
//鍦ㄥ瓧姣嶅拰鏁板瓧涔嬮棿鎻掑叆涓涓绌烘牸
if((Character.isDigit(array[index]) && Character.isLetter(array[index+1])) || (Character.isDigit(array[index+1]) && Character.isLetter(array[index])))
{
newList.add(new Character(array[index]));
newList.add(new Character(' '));
}
else
{
newList.add(new Character(array[index]));
//newList.add(new Character(' '));
}
}
newList.add(new Character(array[index]));
//钖埚苟鎴愭柊镄勫瓧绗︿覆
char[] new_array = new char[newList.size()];
for(int i = 0; i< newList.size(); i++)
{
new_array[i] = newList.get(i).charValue();
}
String newLine = new String(new_array);
System.out.println(newLine);
② java正则表达式判断 只能包含汉字、英文、“_”和数字 ,正则该怎么写呢
正则表达式:[\u4e00-\u9fa5]*|\w*|\d*|_*
代码如下:
@Test
public void test1(){
//匹配正则表达式表达式
String str = "[\u4e00-\u9fa5]*|\w*|\d*|_*";
Pattern pattern = Pattern.compile(str);
//要匹配的字符串
String mStr = "还有多远_344fjdk";
System.out.println("测试的字符串:"+mStr);
Matcher m = pattern.matcher(mStr);
//如果匹配到了
if(m.find()){
System.out.println("匹配内容:"+m.group());
}
}
程序运行结果:
(2)java数字字母正则表达式扩展阅读
匹配包括下划线的任何单词字符。类似但不等价于“[A-Za-z0-9_]”,"单词"字符使用Unicode字符集,中文的为:[\u4e00-\u9fa5],表示英文字母的为w,表示数字的为d,表示_的为_,而*号表示的则是0个或多个,|表示的则是或,所以把每个要匹配的用|拼接可以表示要匹配的正则表达式。
③ 写一个java正则表达式,判断输入的密码强度,是数字弱,是字母较弱,数字加字母强,用\s写
importjava.util.Scanner;
publicclassJButtonTest
{
publicstaticvoidmain(String[]args)
{
Scannerscanner=newScanner(System.in);
System.out.println("写一个java正则表达式,判断输入的密码强度,是数字弱搜索,是字母较弱,数字加字母强:");
while(scanner.hasNextLine())
{
Stringline=scanner.nextLine();
if(line.matches("^\d+$"))
{
System.out.println("数字弱");
}
elseif(line.matches("^[a-zA-Z]+$"))
{
System.out.println("字母弱");
}
elseif(line.matches("(?i)^((\d+[\da-z]*[a-z]+)|([a-z]+[\da-z]*\d+)|([a-z]+[\da-z]*[a-z]*)|(\d+[\da-z]*\d*))$"))
{
System.out.println("密码强");
}
else
{
System.out.println("你不按套路出牌啊。你滴承诺尼,你滴担架尼?");
scanner.close();
break;
}
}
}
}