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;
}
}
}
}