偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

ASP.NET正則表達(dá)式的命名組和四向處理功能

開發(fā) 后端
本文介紹ASP.NET正則表達(dá)式的兩個(gè)高級(jí)功能:命名組和四向處理。

ASP.NET正則表達(dá)式高級(jí)功能

正則表達(dá)式有兩個(gè)不得不說的功能,一個(gè)是“命名組”,另一個(gè)是“四向處理”(lookaround processing)。由于這些功能很少使用,此處只簡(jiǎn)單闡述一下。

ASP.NET正則表達(dá)式的命名組

使用命名組,您可單獨(dú)命名匹配組,然后在表達(dá)式中使用程序語(yǔ)言引用這些組。如果結(jié)合 Replace 方法重新設(shè)置輸入字符串的格式(通過重新排列順序、替換輸入字符串中的元素),這個(gè)功能特別有效。例如,假設(shè)日期使用 MM/DD/YYYY 格式的字符串,而您希望日期格式是 DD-MM-YYYY。此時(shí),可編寫一個(gè)表達(dá)式捕獲***種格式,遍歷它的匹配集合,并分析每個(gè)字符串,然后使用字符串操作建立替換字符串。這需要大量的代碼和大量的處理。如果使用命名組,您可完成同樣的任務(wù),具體見下:

  1. String MDYToDMY(String input)  
  2. {  
  3.    return Regex.Replace(intput, @"\b(?<month>\d{1,2})/(?<day>\d{1,2}/(?<year>\d{4})\b", "${day}-  
  4. ${month}-${year}");  
  5. }  

您還可以按編號(hào)或按名稱引用組。在任何情況下,這種引用通稱作“反向引用”。另一個(gè)經(jīng)常使用反向引用的場(chǎng)合在匹配表達(dá)式本身,如下這個(gè)表達(dá)式用于查找重復(fù)的字母:[a-z]\1。它將匹配“aa”、“bb”、“cc”,但它不同于 [a-z]{2}[a-z][a-z],后兩者是等效的,后兩者允許匹配“ab”或“ac”或任何其他兩個(gè)字母的組合。反向引用允許表達(dá)式記住表達(dá)式已經(jīng)分析并匹配過的輸入字符串中的部分字符。

ASP.NET正則表達(dá)式的“四向處理”

“四向處理”指很多正則表達(dá)式引擎所支持的正負(fù) Lookahead 和 Lookbehind 功能。并不是所有的正則表達(dá)式引擎都支持驗(yàn)證四向處理。這些構(gòu)造不使用字符,即使它們可以匹配字符。有些模式可能在不使用四向處理的情況下無(wú)法描述。特別是當(dāng)模式中存在的一部分依賴于另一部分,如果不使用四向處理,則不能描述這樣的模式。下面介紹了每個(gè)四向處理的語(yǔ)法。

語(yǔ)法

說明

(?=...)

正 Lookahead

(?!...)

負(fù) Lookahead

(?<=...)

正 Lookbehind

(?<!...)

負(fù) Lookbehind

密碼驗(yàn)證是必需四向處理的一個(gè)示例。假定在密碼限制中,密碼必須介于 4 到 8 個(gè)字符,且必須至少包含一個(gè)數(shù)字。為此,您可以僅在匹配中測(cè)試 \d,然后使用字符串操作來(lái)測(cè)試長(zhǎng)度。但要在正則表達(dá)式中實(shí)現(xiàn)這一切,必須使用 Lookahead。特別是正 lookahead,如下所示:^(?=.*\d).{4,8}$

【編輯推薦】

  1. .NET正則表達(dá)式基礎(chǔ)學(xué)習(xí)資料
  2. 什么是正則表達(dá)式:其歷史與.NET框架的關(guān)系
  3. 詳解C#正則表達(dá)式
  4. 利用正則表達(dá)式使C#判斷輸入日期格式是否正確
  5. .NET下正則表達(dá)式應(yīng)用四例
責(zé)任編輯:yangsai 來(lái)源: MSDN
相關(guān)推薦

2009-09-16 18:19:34

正則表達(dá)式組

2009-07-21 17:46:47

ASP.NET表達(dá)式

2009-03-24 08:56:15

正則表達(dá)式格式清理字符串

2009-08-07 14:24:31

.NET正則表達(dá)式

2018-09-27 15:25:08

正則表達(dá)式前端

2012-01-12 10:21:57

正則表達(dá)式

2009-08-24 17:14:41

正則表達(dá)式C#和.NET框架

2012-04-28 15:22:46

PHP

2009-08-07 14:31:40

.NET正則表達(dá)式基礎(chǔ)

2010-03-03 12:58:41

Linux正則表達(dá)式

2020-09-04 09:16:04

Python正則表達(dá)式虛擬機(jī)

2009-08-19 14:48:57

正則表達(dá)式性能

2024-09-14 09:18:14

Python正則表達(dá)式

2010-01-05 17:46:04

.NET Framew

2009-03-12 10:15:15

正則表達(dá)式JDK7Java

2009-06-09 09:00:09

java正則表達(dá)式

2022-03-28 06:19:14

正則表達(dá)式開發(fā)

2009-02-18 09:48:20

正則表達(dá)式Java教程

2019-07-17 15:45:47

正則表達(dá)式字符串前端

2021-01-27 11:34:19

Python正則表達(dá)式字符串
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)