正則表達式對於很多人來說是一個很陌生的概念,即便是電腦專業人士,學習正則表達也有一定的門檻。這裡給大家講解一下,我們不需要理解正則表達式的語法就可以使用一個可視化的工具來為我們自動生成正則表達式。
正則的基本概念
一定要先理解正則表達式的基本概念,然後才可以正常操作視覺化產生器。如果不理解正則表達式的基本概念,則會遇到很多問題,從而導致產生的結果不符合預期。因此,請一定要仔細閱讀並理解此文的所有內容:https://www.wodeabc.com/article/show/8002232
視訊講解
https://www.bilibili.com/video/BV1ZB4y1U7Cq
開啟視覺化正則表達式產生器
進入「我的ABC軟體工具箱」中的「更多功能」,然後按一下「正則表達式視覺化產生器」,如下圖:

進入後的介面如下:

建立第一個條件
由於正則表達式的學習有一定的門檻,因此,視覺化產生器給我們提供了一個簡單的表單供我們填寫,我們只需要簡單地「點一點」、「選一選」或「填一填」就可以很方便快速地產生專業的正則表達式。因此,我們需要按一下入口按鈕「建立第一個條件」:

我們會看到以下表單:

填寫表單
如果我們已經理解了正則表達式的基本概念,那麼,我們只需要再補充一下這幾項即可。
文字選項
1、文字內容組成規律
我們看到的所有文字內容都是由單個的文字組成的,比如:一個漢字就是屬於單個文字。也就是組成文字內容的最小單元就叫做「單個文字」。
如果一段文字內容只有漢字,那麼我們可以用一句話概括出它的規律:由連續多次的任意中文漢字組成的內容。
再比如,針對中國大陸地區的手機號,我們也可以使用一句話總結出規律:由單個數字 1 開頭的連續 11 位數字。
這裡是常見的規律:


2、文字內容共連續重複幾次
「連續重複」是指一個文字按一個規律從左至右連續出現,也就是說從左往右開始,遇到的每一個「單個文字」都符合此規律。
比如,電話號碼 :001-12345678,可以使用這樣一句話來總結出規律:將數字 0 到數字 9 中的任意單個數字連續重複 3 次,然後是一個單個的減號,這裡的減號只需要連續重複 1 次,然後是數字 0 到數字 9 中的任意單個數字連續重複 8 次。
這裡是連續重複的設定:

位置選項
這裡是常見的位置:

儲存表單
當我們填寫完表單之後,我們再按一下「儲存」按鈕,即可看到如下介面:

我們還可以繼續新增條件,上圖中的「新增連續內容」是指此條件從左到右連續比對,「新增或者內容」是指此條件有多種可能。
操作範例
要求
目的:需要寫一個正則表達式來尋找一個文字內容中的所有電話號碼
文字內容中的電話號碼範例如下:
- 010-123456
- 010#12345678
- 010#1234567
已知條件:
- 雖然我們對文字抽樣時,裡面的電話號碼區號部分只有三位數字,但實際上可能也會有四位數字
- 電話號碼除區號外,最少 5 位數字,最多 8 位數字
具體步驟
第一步,建立第一個條件,規律是:連續的 3 位或 4 位數字


第二步,由於前面建立的條件已經能滿足所有的區號了,因此區號部分就已經處理完畢,接下來我們需要建立第二個連續的條件,規律是:固定的文字內容,內容是單個減號


由於單個減號只是電話號碼中的一種可能,還有另外一種可能是單個井號,因此,這個條件需要再加一個「或者條件」:



第三步,繼續尋找電話號碼的後面號碼的部分,規律是:連續的 0 到 9 的數字,並至少連續重複 5 次,最多連續重複 8 次


第四步,檢視正則表達式結果
經過上面的幾步,我們已經完成了所有比對,現在我們可以在這裡檢視到自動產生的正則表達式:

以下是正則表達式的測試結果:
