《精通正則表達式》學習筆記

以Ruby語言格式爲參考。 正則表達式

正則表達式在線測試網站: 測試

https://www.debuggex.com/?re=%28[0-9]{3}%29-%28[0-9]{3}%29-%28[0-9]{4}%29&str=123-456-7899 網站

http://www.osctools.net/regex# .net

http://www.regexr.com/ debug

1.匹配7月4號(July fourth)的文本。

    匹配舉例   :月份多是July、Jul和jul,日期多是fourth、4th或者是4 get

    正則表達式:/^july? (fourth|4(th)?)$/i it

    狀態轉換圖引用

    imageimage

2.匹配24小時制時間格式0:0:0,或00:00:00

    匹配舉例   :除了正常的00:00:00到23:59:59外,時分秒容許單個,如0:0:0或9:9:9 bug

    正則表達式:/^([01]?\d{1}|2[0-3])(:[0-5]?\d{1}){2}$/ im

    狀態轉換圖

image

3.匹配12小時制時間格式1:12 am,或12:9 pm

    匹配舉例 :除了正常的01:59 am外,時分容許單個,如1:1 am。此外,時間和am/pm之間的空格可多個。

    正則表達式:/^(0?[1-9]|1[0-2]):[0-5]?\d +[ap]m$/

   狀態轉換圖

    image

4. 找到相鄰重複英文單詞

    匹配舉例 :如同時出現 「the the」或「the       the」

    正則表達式:/^([a-zA-Z]+) +\1$/i

   狀態轉換圖

    image

    不能匹配項:有些引擎的-i參數有個bug,即不會對反向引用的內容忽略大小寫。即,它可能找到「the the」,可是不能找到「the The」。

5.匹配一個標識符(indentifier)

    匹配舉例 :標識符只包含字母、數字和下劃線,可是不能以數字開頭。同時可能有長度限制,如最長只有32字符

    正則表達式:/^[a-zA-Z_]\w{0,31}$/

    狀態轉換圖

    image

6.匹配浮點數

    匹配舉例 :匹配以下格式,最前面的+-號不是必須的;如果以小數點開頭,則小數點後必須有數字;浮點數必需要有至少一位數字。如-2九、-96.七、-.十二、-8.九、 .39  、+.177六、+.3等

    正則表達式:/^[-+]?(\d+(\.\d*)?|\.\d+)$/

    狀態轉換圖

    image

相關文章
相關標籤/搜索