3. Regulex
(https://jex.im/regulex/)
- 實時根據正則表達式繪圖
- 頁面加載速度快
第四:刷題,HackerRank上有一系列正則表達式的題。不用做很多,只要做幾個。做完以後應該就已經掌握正則表達式的用法了。
(https://www.hackerrank.com/domains/regex/re-introduction)
還是我說的,一步一步來,不要想一步登天。程序員本來就是一個需要不斷學習鍛鍊的職業,如果對基本概念都沒有了解就開始刷題,寫代碼的的話,只會讓自己的代碼更復雜。怎麼才算紮實,比如:從一個很典型的例子,去除字符串首尾的空白,嘗試用5-10種不同的正則去測試,並思考哪些方式的效率最高,為什麼?記住每個程序員都是這樣一步步的實現一遍又一遍才能真正掌握正則的,包括那些大牛亦是如此。
路人甲M
自己實現一遍
剩下的也就是熟悉一遍又一遍
?,*,+,\\d,\\w 都是等價字符
?等價於匹配長度{0,1}
*等價於匹配長度{0,}
+等價於匹配長度{1,}
\\d等價於[0-9]
\\D等價於[^0-9]
\\w等價於[A-Za-z_0-9]
常用運算符與表達式:
^ 開始 () 域段 [] 包含,默認是一個字符長度 [^] 不包含,默認是一個字符長度 {n,m} 匹配長度 . 任何單個字符(\\. 字符點) | 或 \\ 轉義 $ 結尾 [A-Z] 26個大寫字母 [a-z] 26個小寫字母 [0-9] 0至9數字
[A-Za-z0-9] 26個大寫字母、26個小寫字母和0至9數字 , 分割 . 分割語法: [A,H,T,W] 包含A或H或T或W字母 [a,h,t,w] 包含a或h或t或w字母 [0,3,6,8] 包含0或3或6或8數字
語法與釋義: 基礎語法 "^([]{})([]{})([]{})$" 正則字符串 = "開始([包含內容]{長度})([包含內容]{長度})([包含內容]{長度})結束" ?,*,+,\\d,\\w 這些都是簡寫的,完全可以用[]和{}代替,在(?:)(?=)(?!)(?<=)(?
PPT模板分享
正則這東西,非常反人類,但也是的確有用,學python的學完了beautifulsoup之後一般就把正則給忘了。
對於我來說,最開始是看視頻,用到了正則,然後那時只會一個.*?,也基本上能解決絕大部分問題了。
但是後面在web裡面用到,進行匹配的時候,系統去學習了一下。有個大概印象。