[.net][Regex] Regex 基本使用紀錄

今天有一個 要判斷電話格式 的需求

 

希望使用者在輸入 電話號碼時

 

可以檢測使用者的輸入

 

希望的格式是  


 (00##)00000###

 

#字號代表有可能有,也有可能沒有

 

看今天這篇文章標題應該也知道

 

我是用Regular Expression 來解

 

其實以前就有接觸過,但從來沒有實際自己去寫過

 

這部分我想很多跟我一樣初學的人都懂這句話的意思吧?

(OS 就是看也看不懂 要用就直接複製的概念)

 

好吧,至少今天學習到了基本的Regex 的技能

 

我這邊是參考

 

https://dotblogs.com.tw/johnny/archive/2010/01/25/13301.aspx

 

https://docs.microsoft.com/zh-tw/dotnet/api/system.text.regularexpressions.regex.ismatch?view=netframework-4.7.2

 

在這兩篇文章中說到各種範例

 

以上方需要的格式為例

 

( 代表 \(

 

2~4位數代表 \d{2,4}

 

) 代表 \)

 

5~8位數代表 \d{5,8}

 

然後在 Regex 組成的時候,頭跟尾 都需要用

 

頭 要用 ^,尾 要用 $

 

全部看起來就是

 

Regex rgx = new Regex(@"^\(\d{2,4}\)\d{5,8}$");

 

結論

 

我知道Regex很強大,但我還是只想說

 

下次Debug我絕對還是會要再查過才看得懂...