解析幾個正規表示式

2021-09-06 16:28:12 字數 2894 閱讀 5125

net framework 中的正規表示式引擎由 

regex

類表示。 正規表示式引擎負責分析和編譯正規表示式,並執行用於將正規表示式模式與輸入字串相匹配的操作。

可以呼叫 regex 類的方法來執行下列操作:

以下各部分對這些操作進行了描述。

如果字串與模式匹配,則 regex.ismatch 方法返回 true;如果字串與模式不匹配,則此方法返回 false。ismatch 方法通常用於驗證字串輸入。 例如,下面的**將確保字串與有效的美國社會保障號匹配。

using

system;

using

system.text.regularexpressions;

public

class

example

;

string pattern = @"

^\d-\d-\d$";

foreach (string value in

values) is a valid ssn.

", value);

else

console.writeline(

": invalid

", value);

}}}//

the example displays the following output:

//111-22-3333 is a valid ssn.

//111-2-3333: invalid

正規表示式模式 ^\d-\d-\d$ 的含義如下表所示。

模式

說明

^匹配輸入字串的開頭部分。

\d匹配三個十進位制數字。

-匹配連字元。

$匹配輸入字串的末尾部分。

regex.match 方法返回乙個 match 物件,該物件包含有關與正規表示式模式匹配的第乙個子字串的資訊。 如果 match.success 屬性返回 true,則表示已找到乙個匹配項,可以通過呼叫 match.nextmatch 方法來檢索有關後續匹配項的資訊。 這些方法呼叫可以繼續進行,直到 match.success 屬性返回 false。 例如,下面的**使用 regex.match(string, string) 方法查詢重複的單詞在字串中的第乙個匹配項。 然後,此**呼叫match.nextmatch 方法查詢任何其他匹配項。 該示例將在每次呼叫方法後檢查 match.success 屬性以確定當前匹配是否成功,並確定是否應接著呼叫 match.nextmatch 方法。

using

system;

using

system.text.regularexpressions;

public

class

example

' found at position .

",

match.groups[

1].value, match.groups[2

].index);

match =match.nextmatch();

}

}}//

the example displays the following output:

//duplicate 'a' found at position 10.

//duplicate 'that' found at position 22.

正規表示式模式 \b(\w+)\w+(\1)\b 的含義如下表所示

模式

說明

\b從單詞邊界開始進行匹配。

(\w+)

匹配乙個或多個單詞字元。 這是第乙個捕獲組。

\w+匹配乙個或多個非單詞字元。

(\1)

匹配第乙個捕獲的字串。 這是第二個捕獲組。

\b在單詞邊界處結束匹配。

regex.replace 方法會將與正規表示式模式匹配的每個子字串替換為指定的字串或正規表示式模式,並返回進行了替換的整個輸入字串。 例如,下面的**會在字串 中的十進位制數字前新增美國貨幣符號。

using

system;

using

system.text.regularexpressions;

public

class

example\b"

;

string replacement = "

$$$&";

string input = "

total cost: 103.64";

console.writeline(regex.replace(input, pattern, replacement));

}}//

the example displays the following output:

//total cost: $103.64

正規表示式模式 \b\d+\. \d\b is interpreted as shown in the following table.

模式

說明

\b在單詞邊界處開始匹配。

\d+匹配乙個或多個十進位制數字。

\.匹配句點。

\d匹配兩個十進位制數字。

\b在單詞邊界處結束匹配。

替換模式 $$$& 的含義如下表所示。

模式

說明

$$美元符號 ($) 字元。

$&整個匹配的子字串。

正則語法參考:

正規表示式解析

正規表示式,又稱正規表示式,常規表示式,是使用單個字串來描述.匹配一系列符合某個句法規則的字串,在很多文字編輯器中,正規表示式通常被用來檢索.替換那些符合某個模式的文字.正規表示式的語法可以自行搜尋,通常分為一下幾個方面 1 字元 可以使用普通字元匹配,例 a 使用預定義字元表示給定範圍中的某個字元...

正規表示式解析

string finalsql table23 select from table where id 10 matcher m pattern.compile a za z w a za z matcher finalsql if m.find 正規表示式實現的功能是實現分組,將finalsql的左...

正規表示式解析

string finalsql table23 select from table where id 10 matcher m pattern.compile a za z w a za z matcher finalsql if m.find 正規表示式實現的功能是實現分組,將finalsql的左...