應該怎麼練習使用正規表示式?

時間 2021-05-10 13:19:35

1樓:鵬鵬李李

這個問題我來回答:

我是自己搞了乙個object =parse(string)這麼一套庫,然後tokenizer(longlongstring )的

其中基本資料型別的全是用string型別,當時我就想到用正規表示式來表示資料型別,也就是元資料。

而且這個方案嚴謹性還算不錯,就是匹配處理速度太慢了。

通過regularexpresstion能夠區分各種基本資料型別

例如二進位制型別^[01]+$

0~255 ([0~9]|[1~9][0~9]|1[0~9][0~9]|2[0~4][0~9]|25[0~5])

uint型別:^[1-9]+$

int32型別(太長了,當時寫了一大長串。。。)

int型別 ^-?[1-9]+$

datetime型別:這個型別是最長最複雜的,當時寫了不知道幾天才寫出來。

通過編寫這套庫,自己的正則已經掌握的滾瓜爛熟。。。

同時也發現了正則的乙個潛在運用之處:

全字元資料型別的元資料

這個概念現在還沒流行起來,不過我想未來某一天,全字元資料應該會被提出來,畢竟當前的資料型別位元組太少,int64做幾個乘法就超限了,必須進行四捨五入,這樣丟失了資料準確性,雖然目前大部分運算還達不到這個需求。

學習正則的最好的過程,就是把程式語言中最基本的資料型別的字串形式,通通用正規表示式實現一遍。

2樓:

當初是學perl,使用perl的過程中逐漸學會正規表示式的。試著寫一寫perl,用它來提取網頁內容什麼的,應該很快學會的。

3樓:

《精通正規表示式》難了點,推薦近期在看的一本《正規表示式必知必會》。

作為一種能在幾乎所有的程式語言和計算機平台裡面使用的東西,確實強大,具體的語言裡面的正規表示式又有細微的區別。

4樓:iLRainyday

人家問的是怎麼使用,犯不著讓人家再去學習自動機了吧?學點perl,這貨對正則支援最好,找本《精通正規表示式》,然後去chinaunix的perl版上刷題,上面經常有人問某些正則怎麼寫。推薦regexbuddy這個正則測試工具。

5樓:

哈哈,現身說法,我當時算了死磕了。先是 http://deerchao.net/tutorials/regex/regex-1.htm

看完這篇30分鐘正則入門,剩下的就直接加乙個正則的群,然後花乙個禮拜一直看到有人問問題就思考幫人家解決。。。妥妥的。。。

正規表示式生成

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

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

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

如何用正規表示式表達2020 10 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,顯然不是正確日期,但我給的正則會識別為真 劉長元 從你的問題描述來看,我感覺你對正規表示式的理...