程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> java中的正則操作方法總結

java中的正則操作方法總結

編輯:JAVA編程入門知識

正則表達式在處理字符串的效率上是相當高的

關於正則表達式的使用,更多的是自己的經驗,有興趣可以參閱相關書籍

這裡主要寫一下java中的正則操作方法

實例1:匹配
代碼如下:

import java.util.Scanner;

class Demo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        //獲取輸入
        System.out.print("Please Enter:");
        String str = sc.nextLine();
        check(str);
    }

    private static void check(String str) {
        //匹配第一位是1-9,第二位及以後0-9(個數在4-10之間)
        String regex = "[1-9][0-9]{4,10}";

        /*
        //匹配單個字符是大小寫的a-z
        String regex = "[a-zA-Z]";
        //匹配數字,注意轉義字符
        String regex = "\\d";
        //匹配非數字
        String regex = "\\D";
        */

        if(str.matches(regex)) {
            System.out.println("匹配成功");
        } else {
            System.out.println("匹配失敗");
        }
    }
}

此處String類中的matches()方法用於匹配

實例2:切割
代碼如下:

import java.util.Scanner;

class Demo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Please Enter:");
        String str = sc.nextLine();
        split(str);
    }

    private static void split(String str) {
        //匹配一個或多個空格
        String regex = " +";

        String[] arr = str.split(regex);

        for (String s : arr) {
            System.out.println(s);
        }
    }
}

此處String類中的split()方法用於按正則表達式切割,返回一個String數組

實例3:替換
代碼如下:

import java.util.Scanner;

class Demo {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Please Enter:");
        String str = sc.nextLine();
        replace(str);
    }

    private static void replace(String str) {
        //匹配疊詞
        String regex = "(.)\\1+";
        String s = str.replaceAll(regex, "*");
        System.out.println(s);
    }
}

注意replaceAll有兩個參數,一個是正則,一個是替換的字符

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved