Java正則表達式與模式匹配的簡單應用

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

相關文章
相關標籤/搜索