如何用正規表示式表達2020 10 1的日期,求各位大佬指點,挺急的 ?

時間 2021-05-30 19:26:21

1樓:

[1-9][0-9]\.([1-9]|1[0,1,2])\.([1-9]|1[0-9]|2[0-9]|3[0,1])

上述回答基於以下幾個限制:

1.年月日開頭的0不寫

2.填寫人自己不要瞎寫日期,比如2000.2.31和2001.2.29,顯然不是正確日期,但我給的正則會識別為真

2樓:劉長元

從你的問題描述來看,我感覺你對正規表示式的理解有些偏差。我來講一下正規表示式是幹什麼的,如果你的理解本來是對的,那很好;如果不是,則可以學習一下。

這是正規表示式的英文和中文Wikepedia的位址。

它們英文和中文的定義如下:

Aregular expression(shortened asregexorregexp;[1]also referred to asrational expression[2]

[3]) is a sequence of characters that define asearch pattern

. Usually such patterns are used by string-searching algorithms for "find" or "find and replace" operations on strings, or for input validation. It is a technique developed in theoretical computer science and formal language theory.

正規表示式(英語:Regular Expression,常簡寫為regex、regexp或RE),又稱正規表示式正規表示法規則表示式常規表示法,是電腦科學的乙個概念。正規表示式使用單個字串來描述、匹配一系列符合某個句法規則的字串。

在很多文字編輯器裡,正規表示式通常被用來檢索、替換那些符合某個模式的文字。

所以,正規表示式是一種定義搜尋模式的字串,它用在字元搜尋演算法中,來查詢/查詢並替換字串。

所以,使用正規表示式的前提是,你已經有乙個字串,然後你希望通過正則來找到其中符合某種條件的字串,或是找到後替換它們。

而你問題描述中的【如何用正規表示式表達2020.10.1的日期】,則與正則的使用邏輯不符。正確的說法應該是,你有一些字串,如何找到其中yyyy-mm-d樣式的日期。

你寫的是2020.10.1,其中最後一位的天是1位的,那麼【2020.10.02】樣式在不在你的需求中

2020.10.1是否需要前後有空格的,【x2020.10.1】樣式的字串,是否符合你的需求

年份你寫的是2020,那麼你的字串中是否會出現公元900年這種900.12.5的情況,是否會出現西元前300年的情況,是否會出現10萬年後的日期

是否要強制檢查月份和天的數字,比如不能有13月,不能出現32號,是否要檢查月和天的關係,比如不能出現6月31號,是否要檢查閏月

還有很多情況是實際幹活的情況出來的坑,比如中文的點,比如2020-10-1,你要不要支援。

這些都是隨便想起來的點,你可以多想想。

3樓:瘋之任性

[0-9]\.[0-9]\.[0-9] 差不多就是這個,沒有試,不同工具有不同的元字元

[1-9][0-9]\.[0-9]\.[0-9]

但是還是不能覆蓋月份或日期是0和00的情況。

正規表示式生成

今天剛好研究了自動生成js正規表示式的工具 試試randexpnpminstall randexp node demo.js varRandExp require randexp must require on node supports grouping and pipingnewRandExp ...

正規表示式攻擊 ReDoS 如何預防?

小小的寂寞 支援自定義萬用字元的站內搜尋功能有可能受到類似攻擊。當然我是說理論上。可以把有可能出現 ReDoS 的部分用單獨 worker 執行緒做 如果用 Node 的話,其他回答中說是多程序 並且配置伺服器集群以降低這個問題可能帶來的危害。 舒辰 不是太理解為什麼會存在這個問題,記得正規表示式和...

以下文字內容如何用正規表示式來提取?

Ace華 這斷文字不管是前端傳過來的還是你自己爬蟲來的,總之,它是字串,但看上去是json格式的字串,那麼就好辦了,呼叫python的json庫,直接json.loads這個字串,然後輸出結果,你會發現是字典,那麼,接下來就是字典裡面取值並且判斷存不存在咯?聰明的你應該已經知道怎麼做了吧 Richa...