- Java Regex 教程
- Java Regex - 主頁
- Java Regex - 概述
- Java Regex - 捕獲組
- Java Regex - MatchResult 介面
- Java Regex - Pattern 類
- Java Regex - Matcher 類
- PatternSyntaxException 類
- Java Regex 示例
- Java Regex - 字元
- Java Regex - 字元類
- 預定義字元類
- POSIX 字元類
- Java Regex - JAVA 字元類
- Unicode 字元類
- Java Regex - 邊界匹配器
- Java Regex - 貪婪量詞
- Java Regex - 勉強量詞
- Java Regex - 專有量詞
- Java Regex - 邏輯運算子
- Java Regex 有用資源
- Java Regex - 快速指南
- Java Regex - 有用資源
- Java Regex - 討論
java.util.regex.Pattern.compile() 方法
描述
java.util.regex.Pattern.compile(String regex, int flags) 方法將給定的正則表示式編譯為一個模式。
宣告
以下是 java.util.regex.Pattern.compile(String regex, int flags) 方法的宣告。
public static Pattern compile(String regex, int flags)
引數
regex − 要編譯的表示式。
flags − 匹配標誌,一個位掩碼,可能包括 CASE_INSENSITIVE、MULTILINE、DOTALL、UNICODE_CASE、CANON_EQ、UNIX_LINES、LITERAL、UNICODE_CHARACTER_CLASS 和 COMMENTS。
異常
IllegalArgumentException − 如果在標誌中設定了除定義的匹配標誌對應的位值之外的位值。
PatternSyntaxException − 如果表示式的語法無效。
示例
以下示例展示了 java.util.regex.Pattern.compile(String regex, int flags) 方法的用法。
package com.tutorialspoint;
import java.util.regex.MatchResult;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PatternDemo {
private static final String REGEX = "(.*)(\\d+)(.*)?# 3 capturing groups";
private static final String INPUT = "This is a sample Text, 1234, with numbers in between.";
public static void main(String[] args) {
// create a pattern
Pattern pattern = Pattern.compile(REGEX,Pattern.COMMENTS);
// get a matcher object
Matcher matcher = pattern.matcher(INPUT);
if(matcher.find()) {
//get the MatchResult Object
MatchResult result = matcher.toMatchResult();
//Prints the offset after the last character matched.
System.out.println("First Capturing Group - Match String end(): "+result.end());
}
}
}
讓我們編譯並執行以上程式,這將產生以下結果 −
First Capturing Group - Match String end(): 53
javaregex_pattern.htm
廣告