1.程序判斷用戶從鍵盤輸入的字符序列是否所有由英文字母所組成。java
import java.util.Scanner;
public class Example {
public static void main (String args[ ]) {
String regex = "[a-zZ-Z]+";
Scanner scanner = new Scanner(System.in);
System.out.println("輸入一行文本(輸入#結束程序):");
String str = scanner.nextLine();
while(str!=null) {
if(str.matches(regex))
System.out.println(str+"中的字符都是英文字母");
else
System.out.println(str+"中含有非英文字母");
System.out.println("輸入一行文本(輸入#結束程序):");
str = scanner.nextLine();
if(str.startsWith("#"))
System.exit(0);
}
}
}git
2.字符串的分解正則表達式
public String[] split(String regex)數組
字符串調用該方法時,使用參數指定的正則表達式regex做爲分隔標記分解出其中的單詞,並將分解出的單詞存放在字符串數組中。網站
例:若要分解出所有由數字字符組成的單詞,就必須用非數字字符串作分隔標記,spa
String regex=「\\D+」;//正則表達式對象
String digitword[]=str.split(regex);字符串
3.模式匹配input
例1:查找一個字符串中所有的單詞monkeys以及該單詞在字符串中的位置it
import java.util.regex.*;
public class Example {
public static void main(String args[ ]){
Pattern p; //模式對象
Matcher m;//匹配對象
String input=
"Have 7 monkeys on the tree, walk 2 monkeys, still leave how many monkeys?";
p=Pattern.compile("monkeys"); //初始化模式對象
m=p.matcher(input); //初始化匹配對象
while(m.find()){
String str=m.group();
System.out.println("從"+m.start()+"至"+m.end()+"是"+str);
}
}
}
例2:使用模式匹配查找一個字符串中的網址,而後將網址串所有剔除獲得一個新字符串。
import java.util.regex.*; public class Example { public static void main(String args[ ]) { Pattern p; //模式對象 Matcher m; //匹配對象 String regex = "(http://|www)\56?\\w+\56{1}\\w+\56{1}\\p{Alpha}+"; p = Pattern.compile(regex); //初試化模式對象 String s = "新浪:www.sina.cn,央視:http://www.cctv.com"; m = p.matcher(s); //獲得檢索s的匹配對象m while(m.find()) { String str = m.group(); System.out.println(str); } System.out.println("剔除網站地址後:"); String result = m.replaceAll(""); System.out.println(result); } }