正規表示式學習第二天 入門

2021-04-13 08:55:20 字數 1457 閱讀 6245

學習正規表示式的最好方法是從例子開始,理解例子之後再自己對例子進行修改,實驗。下面給出了不少簡單的例子,並對它們作了詳細的說明。

假設你在一篇英文**裡查詢hi

,你可以使用正規表示式hi

。這是最簡單的正規表示式了,它可以精確匹配這樣的字串:由兩個字元組成,前乙個字元是h,後乙個是i

。通常,處理正規表示式的工具會提供乙個忽略大小寫的選項,如果選中了這個選項,它可以匹配hi

,hi,hi

,hi這四種情況中的任意一種。

不幸的是,很多單詞裡包含hi

這兩個連續的字元,比如him

,history

,high

等等。用hi

來查詢的話,這裡邊的hi

也會被找出來。如果要精確地查詢hi這個單詞

的話,我們應該使用/bhi/b。/b

是正規表示式規定的乙個特殊**(好吧,某些人叫它元字元,metacharacter),代表著單詞的開頭或結尾,也就是單詞的分界處

。雖然通常英文的單詞是由空格或標點符號或換行來分隔的,但是/b

並不匹配這些單詞分隔符中的任何乙個,它只匹配乙個位置。(如果需要更精確的說法,/b

匹配這樣的位置:它的前乙個字元和後乙個字元不全是(乙個是,乙個不是或不存在)/w

)假如你要找的是hi後面不遠處跟著乙個lucy

,你應該用/bhi/b.*/blucy/b

。這裡,.

是另乙個元字元,匹配除了換行符以外的任意字元

。*同樣是元字元,不過它代表的不是字元,也不是位置,而是數量——它指定*前邊的內容可以連續重複出現任意次以使整個表示式得到匹配

。因此,.*

連在一起就意味著任意數量的不包含換行的字元

。現在/bhi/b.*/blucy/b

的意思就很明顯了:先是乙個單詞hi,然後是任意個任意字元(但不能是換行),最後是lucy這個單詞

。如果同時使用其它的一些元字元,我們就能構造出功能更強大的正規表示式。比如下面這個例子:

0/d/d-/d/d/d/d/d/d/d/d

匹配這樣的字串:以0開頭,然後是兩個數字,然後是乙個連字型大小「-」,最後是8個數字

(也就是中國的**號碼。當然,這個例子只能匹配區號為3位的情形)。

這裡的/d

是乙個新的元字元,匹配任意的數字(0,或1,或2,或……)

。-不是元字元,只匹配它本身——連字型大小。

為了避免那麼多煩人的重複,我們也可以這樣寫這個表示式:0/d-/d

。 這裡/d

後面的(

)的意思是前面/d

必須連續重複匹配2次(8次)

。寫了乙個正規表示式後,你需要測試它是否符合要求:

正規表示式的語法很令人頭疼,即使對經常使用它的人來說也是如此。由於難於讀寫,容易出錯,所以很有必要建立一種工具來測試正規表示式。

下面是regex tester執行時的截圖:

學習第二天

linux系統的檔案型別及許可權的相關知識 1.普通檔案 l 連線檔案 d 資料夾 表示不同的檔案型別 2.檔案許可權 r 可讀 w 可寫 x 可執行 3.chmod 修改檔案許可權,修符號或者使用八進位制 linux的基礎命令 cd 切換目錄 ls 檢視內容 表示當前目錄 上一級目錄等 touch...

第二天學習

快捷鍵 功能ctrl alt t 啟動終端 print 全屏截圖 ctrl alt a 截圖alt tab 切換視窗 shift alt tab 反向切換視窗 super d 顯示桌面 super e 檔案管理器 super l 屏鎖介面 super up 最大化視窗 super down 恢復視窗...

學習第二天

製表符和換行符 換行符 n 的作用是是來游標跳到下乙個新行,輸入完一行內容後游標下移一行 而製表符 t 的作用是 跳格 即到自下乙個 製表位置 在系統中乙個 製表區 佔8列,相當於4個或8個空格符。正斜槓和反斜槓 正斜槓 是斜率是正數的斜槓,反斜槓 是斜率為負數的斜槓 這個世界上就只有microso...