正則表達式(Regular Expression),又稱為正規表達式、規則表達式、常規表示法等,是一種用來匹配、查找和替換字符串的工具。它的語法和規則相對復雜,但卻非常強大和靈活。
在Java中,可以使用java.util.regex包中的類來使用正則表達式。常用的類有Pattern和Matcher。
Pattern類:用于定義正則表達式的模式。可以通過Pattern.compile()方法來創建Pattern對象。
Matcher類:用于對字符串進行匹配操作。可以通過Pattern.matcher()方法來創建Matcher對象。
下面是一些常用的正則表達式語法:
[abc]:匹配a、b、c中的任意一個字符。
[^abc]:匹配除了a、b、c以外的任意一個字符。
[a-z]:匹配a到z之間的任意一個小寫字母。
[A-Z]:匹配A到Z之間的任意一個大寫字母。
[0-9]:匹配0到9之間的任意一個數字。
[a-zA-Z0-9]:匹配任意一個字母或數字。
^:匹配字符串的開始位置。
$:匹配字符串的結束位置。
\b:匹配單詞的邊界。
*:匹配前面的元素零次或多次。
+:匹配前面的元素一次或多次。
?:匹配前面的元素零次或一次。
{n}:匹配前面的元素恰好n次。
{n,}:匹配前面的元素至少n次。
{n,m}:匹配前面的元素至少n次,但不超過m次。
(pattern):匹配pattern并捕獲結果。
\1、\2、\3…:引用前面的分組。
.:匹配任意一個字符。
\d:匹配任意一個數字。
\D:匹配任意一個非數字字符。
\w:匹配任意一個字母、數字或下劃線。
\W:匹配任意一個非字母、數字或下劃線字符。
\s:匹配任意一個空白字符。
\S:匹配任意一個非空白字符。
以上只是正則表達式的一部分語法,還有很多其他的語法和操作符可以使用。在實際使用中,可以根據具體的需求來編寫正則表達式。
下面是一個示例代碼,演示如何使用正則表達式來匹配字符串:
import java.util.regex.*;
public class RegexExample {
public static void main(String[] args) {
String text = "This is a test string.";
String pattern = "test";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(text);
if (m.find()) {
System.out.println("Pattern found!");
} else {
System.out.println("Pattern not found!");
}
}
}
運行以上代碼,輸出結果為:Pattern found!