正規表示式入門經典 學習筆記(一)

2021-05-23 00:25:36 字數 1133 閱讀 4088

從今天開始試著把自己看過的書裡的東西有條理的記錄在這裡。希望可以堅持。

正規表示式是一種匹配文字中的字串行的字元模式。提到正規表示式應該立刻想到它的應用範圍是文字,而正規表示式實際上利用的是文字中字元的模式匹配。

使用正規表示式可以做什麼?

(1)查詢重複單詞。

(2)檢查web表單的輸入是否符合伺服器端資料庫儲存所允許的格式。正則是確保在客戶端發現不適當資料的理想選擇。

(3)轉換日期格式。美式日期12/25/2009,英式日期25/12/2009,其他2009-12-25

(4)發現錯誤拼寫。檢查替換錯誤的拼寫,如行首字母大小寫。

(5)為url新增鏈結。查詢文字中包含的url,如轉換成theurl

正規表示式沒有統一的標準,不同實現工具之間的差異非常多。

元字元:指在正則模式中具有特殊含義的字元或字串行。

同一元字元在同一語言的不同環境下可能表示不同的涵義。^可以是行首標識,如^and,也可能是取反標識,如[^and](包圍的叫做字元類)

資料決定了模式的匹配行為。如url以http開頭或以www開頭,對應的想匹配文字中的url,需要分開處理。

建立合適的正規表示式需要對自己的需求有過認真的分析,並且在對資料來源進行研究的基礎上充分理解了資料內容的特點。

簡單的正字表示式

包括直接量字元和字串行。

乙個元字元通常會匹配一類字元,如/d匹配數字的字元類。

匹配單個可選的字元。如colou?r,?標示它前面的乙個字元時可選的,可以出現0次或1次,因而color和colour都將匹配。

匹配多個可選的字元。如colou?r'?s?'?,希望匹配color或者colour的單複數形式以及所有格形式,因而諸如color's可以匹配;但是,如果出現color's'這樣的字串行也會匹配,這顯然是錯誤的。實現初衷的做法是,只有在第乙個撇號'不存在時(0次匹配)才可以匹配第二個撇號。這個工作留待後續研究。

其它的限定符:

+ : 匹配一次或多次前面的塊。

{} : 有幾種語法---精確指定匹配次數為n,如abc[0-9],abc後跟3個數字

匹配最少n次最多m次

匹配0次到指定次數

匹配n到無限次

正規表示式入門學習筆記

單字元轉義 如 塊轉義 q e 不區分大小寫 wuzhong i wuzhong 十六進製制字元 a fa f0 9 or a fa f d or a f d 非十六進製制字元 a fa f0 9 匹配任意字元 不包括換行符 s 包括換行符在內的任意字元 一行的開始和結束 alpha 文字的開始和結...

經典正規表示式

string.prototype.len function return regexp.1 math.pow 255,3 regexp.2 math.pow 255,2 regexp.3 255 regexp.4 1 不過上面的程式如果不用正規表示式,而直接用split函式來分解可能更簡單,程式如下...

正規表示式學習筆記(一)

表示開始 例如 the 表示以 the 開頭的詞 表示結束 例如 the 表示以 the 結尾的詞 the 表示 包含 the 的詞 例如 there the 表示 只有 the 的詞 呵呵 只有 the了 表示零個或若干個 例如 abcd 表示 abc 後邊有 零個或多個 d 表示乙個或若干個 例...