java正則表達式

來源:文萃谷 2.33W

正則表達式的引擎已被許多普通的Unix工具所實現,包括grep,awk,vi和Emacs等。此外,許多使用比較廣泛的腳本語言也支持正則表達式,比如Python,Tcl,JavaScript,以及最著名的Perl。下面是小編為大家搜索整理的java正則表達式,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!

java正則表達式

  正則表達式定義了字符串的`模式。

  正則表達式可以用來搜索、編輯或處理文本。

  正則表達式並不僅限於某一種語言,但是在每種語言中有細微的差別。

Java正則表達式和Perl的是最為相似的。

x包主要包括以下三個類:

  Pattern類:

pattern對象是一個正則表達式的編譯表示。Pattern類沒有公共構造方法。要創建一個Pattern對象,你必須首先調用其公共靜態編譯方法,它返回一個Pattern對象。該方法接受一個正則表達式作為它的第一個參數。

  Matcher類:

Matcher對象是對輸入字符串進行解釋和匹配操作的引擎。與Pattern類一樣,Matcher也沒有公共構造方法。你需要調用Pattern對象的matcher方法來獲得一個Matcher對象。

PatternSyntaxException:

PatternSyntaxException是一個非強制異常類,它表示一個正則表達式模式中的語法錯誤

  捕獲組

捕獲組是把多個字符當一個單獨單元進行處理的方法,它通過對括號內的字符分組來創建。

例如,正則表達式(dog) 創建了單一分組,組裏包含"d","o",和"g"。

捕獲組是通過從左至右計算其開括號來編號。例如,在表達式((A)(B(C))),有四個這樣的組:

((A)(B(C)))

(A)

(B(C))

(C)

可以通過調用matcher對象的groupCount方法來查看錶達式有多少個分組。groupCount方法返回一個int值,表示matcher對象當前有多個捕獲組。

還有一個特殊的組(組0),它總是代表整個表達式。該組不包括在groupCount的返回值中。

  實例

下面的例子説明如何從一個給定的字符串中找到數字串:

import her;

import ern;

public class RegexMatches

{

public static void main( String args[] ){

// 按指定模式在字符串查找

String line = "This order was placed for QT3000! OK?";

String pattern = "(.*)(d+)(.*)";

// 創建 Pattern 對象

Pattern r = ile(pattern);

// 現在創建 matcher 對象

Matcher m = her(line);

if (( )) {

tln("Found value: " + p(0) );

tln("Found value: " + p(1) );

tln("Found value: " + p(2) );

} else {

tln("NO MATCH");

}

}

}

以上實例編譯運行結果如下:

Found value: This order was placed for QT3000! OK?

Found value: This order was placed for QT300

Found value: 0

熱門標籤