也談正規表示式

2021-09-22 04:02:02 字數 1933 閱讀 9564

其實很早就知道了正規表示式,在整合vbscript指令碼的時候,就看到了該功能,不過那時覺得很難,覺得也派不上什麼用場,所以也沒有過多關注。

最近看了孟巖老師的關於正規表示式講解,有一種學習正規表示式的衝動,適時我們開發的專案中需要嵌入python指令碼功能,需要乙個指令碼編輯器,關鍵字變色等等相關功能用正規表示式實現相對容易的多。

前段時間買了本紅皮書《c#字串和正規表示式參考書》(這真是一本好書,想學習正規表示式的可以參考一下),花了幾天的時間把該書看了一遍,正規表示式的用法基本上也弄清楚了,並且對字串相關的知識也越來越感興趣了。

對正規表示式的具體規則和使用,實沒有什麼可說的,網上的文章多的很,都說的比我的好。這是我學習正規表示式做的乙個簡單正規表示式測試工具,其實大部分**就是上面書的乙個示例(不知道為什麼,上網竟沒有找到該書的示例原始碼),又上網查了一些資料,把一些常見的正規表示式也嵌入了進去,方便了正規表示式的應用(以後有時間做乙個比較理想的正規表示式工具)。

這是程式的截圖:

相關原始碼:

//獲取正規表示式的匹配引數 

private

regexoptions getselectedregexoptions()  

private

void

testregexbutton_click(

object

sender, eventargs e)  

else

}  catch

(argumentexception ex)  

}  private

void

replacebutton_click(

object

sender, eventargs e)  

catch

(argumentexception ex)  

}  private

void

splitboutton_click(

object

sender, eventargs e)  

catch

(argumentexception ex)  

}  private

void

matchesbutton_click(

object

sender, eventargs e)  

catch

(argumentexception ex)  

}  private

void

groupsbutton_click(

object

sender, eventargs e)  

this

.resultstextbox.forecolor = color.black;  

this

.resultstextbox.text = resultsstring.tostring();  

}  catch

(argumentexception ex)  

}  //常見正規表示式

private

void

familiarregex_linkclicked(

object

sender, linklabellinkclickedeventargs e)  

private

void

menuregexitem_click(

object

sender, eventargs e)  

-d|d-d"

;  break

;  case

:  strregex = @

"[1-9]d(?!d)"

;  break

;  case

"email位址1"

:  strregex = @

"^(([^<>()\.,;:@"

+'"'

+@"  

也談正規表示式

其實很早就知道了正規表示式,在整合vbscript指令碼的時候,就看到了該功能,不過那時覺得很難,覺得也派不上什麼用場,所以也沒有過多關注。最近看了孟巖老師的關於正規表示式講解,有一種學習正規表示式的衝動,適時我們開發的專案中需要嵌入python指令碼功能,需要乙個指令碼編輯器,關鍵字變色等等相關功...

也談正規表示式

其實很早就知道了正規表示式,在整合vbscript指令碼的時候,就看到了該功能,不過那時覺得很難,覺得也派不上什麼用場,所以也沒有過多關注。最近看了孟巖老師的關於正規表示式講解,有一種學習正規表示式的衝動,適時我們開發的專案中需要嵌入python指令碼功能,需要乙個指令碼編輯器,關鍵字變色等等相關功...

正規表示式小談

public class testregex w p string words pattern.split email matcher matcher pattern.matcher email if matcher.find words.length 0 return true else retu...