選單
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

Java 教程

Java HOME Java Intro Java Get Started Java Syntax Java Output Java Comments Java Variables Java Data Types Java Type Casting Java Operators Java Strings Java Math Java Booleans Java If...Else Java Switch Java While Loop Java For Loop Java Break/Continue Java Arrays

Java Methods

Java Methods Java Method Parameters Java Method Overloading Java Scope Java Recursion

Java Classes

Java OOP Java 類/物件 Java 類屬性 Java 類方法 Java 建構函式 Java 訪問修飾符 Java 封裝 Java 包/API Java 繼承 Java 多型 Java 內部類 Java 抽象 Java 介面 Java 列舉 Java 使用者輸入 Java 日期 Java ArrayList Java LinkedList Java 列表排序 Java HashMap Java HashSet Java Iterator Java 包裝類 Java 異常 Java 正則表示式 Java 執行緒 Java Lambda Java 高階排序

Java File Handling

Java Files Java Create/Write Files Java Read Files Java Delete Files

Java How To's

兩個數相加 統計單詞數 反轉字串 陣列元素求和 字串轉陣列 陣列排序 計算陣列平均值 查詢陣列中最小元素 ArrayList 迴圈 HashMap 迴圈 Enum 迴圈 矩形面積 奇數或偶數 正數或負數 平方根 隨機數

Java 參考

Java Reference Java Keywords Java String Methods Java Math Methods Java Output Methods Java Arrays Methods Java ArrayList Methods Java LinkedList Methods Java HashMap Methods Java Scanner Methods Java Iterator Methods Java Errors & Exceptions

Java 示例

Java Examples Java Compiler Java Exercises Java Quiz Java Server Java Certificate


Java 正則表示式


什麼是正則表示式?

正則表示式是構成搜尋模式的字元序列。當你在文字中搜索資料時,可以使用此搜尋模式來描述你要搜尋的內容。

正則表示式可以是一個單獨的字元,也可以是更復雜的模式。

正則表示式可用於執行所有型別的文字搜尋文字替換操作。

Java 沒有內建的正則表示式類,但我們可以匯入 java.util.regex 包來處理正則表示式。該包包含以下類:

  • Pattern 類 - 定義模式(用於搜尋)
  • Matcher 類 - 用於搜尋模式
  • PatternSyntaxException 類 - 指示正則表示式模式中存在語法錯誤

示例

查詢句子中單詞“w3schools”的任何出現情況

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {
  public static void main(String[] args) {
    Pattern pattern = Pattern.compile("w3schools", Pattern.CASE_INSENSITIVE);
    Matcher matcher = pattern.matcher("Visit W3Schools!");
    boolean matchFound = matcher.find();
    if(matchFound) {
      System.out.println("Match found");
    } else {
      System.out.println("Match not found");
    }
  }
}
// Outputs Match found

自己動手試一試 »

示例解釋

在此示例中,將搜尋句子中的單詞“w3schools”。

首先,使用 Pattern.compile() 方法建立模式。第一個引數表示正在搜尋的模式,第二個引數包含一個標誌,表示搜尋應不區分大小寫。第二個引數是可選的。

使用 matcher() 方法在字串中搜索模式。它返回一個 Matcher 物件,其中包含有關執行的搜尋資訊。

如果字串中找到該模式,find() 方法將返回 true,否則返回 false。



標誌

compile() 方法中的標誌會更改搜尋的執行方式。以下是其中一些:

  • Pattern.CASE_INSENSITIVE - 在執行搜尋時將忽略字母的大小寫。
  • Pattern.LITERAL - 模式中的特殊字元在執行搜尋時不會具有特殊含義,而是被視為普通字元。
  • Pattern.UNICODE_CASE - 與 CASE_INSENSITIVE 標誌一起使用,還可以忽略非英文字母的大小寫。

正則表示式模式

Pattern.compile() 方法的第一個引數是模式。它描述了正在搜尋的內容。

方括號用於查詢一組字元

表示式 描述
[abc] 在方括號之間查詢一個字元
[^abc] 查詢方括號中未包含的字元
[0-9] 查詢 0 到 9 範圍內的一個數字

元字元

元字元是具有特殊含義的字元

元字元 描述
| 匹配由 | 分隔的任何一個模式,例如:cat|dog|fish
. 查詢任意單個字元的例項
^ 匹配字串的開頭,例如:^Hello
$ 匹配字串的結尾,例如:World$
\d 查詢數字
\s 查詢空白字元
\b 匹配單詞的開頭,例如:\bWORD,或單詞的結尾,例如:WORD\b
\uxxxx 匹配十六進位制數字 xxxx 指定的 Unicode 字元

量詞

量詞定義數量

量詞 描述
n+ 匹配包含至少一個 n 的任何字串
n* 匹配包含零個或多個 n 的任何字串
n? 匹配包含零個或一個 n 的任何字串
n{x} 匹配包含 Xn 的序列的任何字串
n{x,y} 匹配包含 X 到 Y 個 n 的序列的任何字串
n{x,} 匹配包含至少 X 個 n 的序列的任何字串



×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援