iT邦幫忙

2023 iThome 鐵人賽

DAY 10
0
自我挑戰組

自我挑戰Ruby系列 第 10

Day 10 - 字串2

  • 分享至 

  • xImage
  •  

正規表達式(Regular expression)

參考維基百科:https://zh.wikipedia.org/zh-tw/正则表达式

主要是用簡單字串,來描述或符合文中全部指定格式的字串。

撰寫時,是使用兩條斜線包含著/ /

參考:https://rubular.com/

. → 任何字元

\A → 字串開始

\z → 字串結束

\b → 邊界

\D → 非數字的字元

\d → 所有數字的字元(0~9)

\W → 非字元

\w → 任何字元(字母、數字、下底線)

\S → 非空白

\s → 空白

^ → 一列首字

$ → 一列尾字

\n…等類似之前所提過跳脫字元

以下可以修改字母:

[a-z] → a,b….y,z 之間任一個字母

[a-zA-Z] → a,b…,y,z 或是 A,B,...,Y,Z 之間任一個字母

[ade] → a, d, e 任一個字母

[^ade] → 除了a, d, e 任一個字母

重複次數:

{a} → 連續出現a次,例如 x{3} 為x連續出現3次

{a,} → 連續出現a次以上,例如 x{3,} 為x連續出現3次或3次以上

{,b} → 連續出現最多b次,例如 x{,3} 為x連續出現最多3次

{a,b} → 連續出現最少a次,最多b次,例如x{3,6} 為x連續出現3~6次

+ → 出現一次或以上,例如a+ 為a出現一次或多次以上

* → 沒有出現或出現多個,例如a* 為a沒有出現或多次以上

? → 沒有出現或出現一次,例如a? 為a沒有出現或一次

(…) → 捕獲特定的字

用途

藉由正規表達式可以做一些規則的驗證,例如我們最常填寫的電話號碼或是Email,

這些都是需要做驗證的,如果網站開發的人沒有做這樣的驗證,

很容易讓別人隨意亂填,或是消費者不小心填錯了,而自身也沒發覺到。

然而用字串使用方法,藉由正規表達式可以判斷是否符合規則。

例如:藉由正規表達式判斷日期格式是否為正確的格式

https://ithelp.ithome.com.tw/upload/images/20230925/201622511xuCj2Y4Z5.png

Day 10 結語

在學習字串的時候,發現正規表達式是一個很好用的東西,

在練習的時候,有些可以藉由正規表達式簡化了一些方法。

所以更充分瞭解正規表達式,再討論更多的字串方法。


上一篇
Day 9 - 字串1
下一篇
Day 11 - 字串3
系列文
自我挑戰Ruby30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言