正規表示式

2021-08-26 18:58:05 字數 1798 閱讀 7036

2023年6月2日

正規表示式就是乙個匹配模式。

sql注入:利用sql的一些語法規則來達到修改資料庫的目的。

正規表示式:是通過ecmascript的regexp來實現的。

var re = new regexp(匹配模式,命令);

或者:var re = /匹配模式/命令;

這裡的命令是正規表示式匹配的額外指令。

常用的命令:

g:代表全域性匹配,也就是global

i:不區分大小寫,也就是ignore

multiformity:多行匹配的命令

例項:var str = "a bat cat"; var reg=/at/gi; str.replace(reg,'tt');

正規表示式的兩個方法:exec(字串):返回的只有乙個元素的陣列。test:判斷是否包含匹配模式。

string裡支援正規表示式的方法:

match(正規表示式);返回多個元素的陣列。如果匹配不成功就返回乙個null。

search(正規表示式);查詢乙個字串,返回乙個數字。如果不加g命令,找到了要找的字串,就不往下找下了。

replace(正規表示式,要替換的字串);

split();

匹配模式的兩種模式:

簡單模式:乙個正規表示式有很多組成組分,這些組成模式有匹配模式和命令模式。由指定字元,元字元,字元類和量值等等組成的簡單模式。

元字元:在正規表示式所占用的字元。如:(,[,,],)

預定義字串:如:\t , \r ,\f ,\n ,\a ,\e ,\b ,\v等

\t: 空格

\n: 換行

\r: 曉不得

預定義類:如:.代表[^\n\r],\d代表[0-9],\d代表[^0-9],\w代表[a-z 0-9 a-z],\w代表[^a-z 0-9 a-z_]

選擇類:是用在分組裡面的。是用 | 來區別的。

244427626 1258931349 133349133

字元類:包含在中括號裡的字元,告訴正規表示式匹配其中乙個字串。字串包含中括號中字元[abcd]

反字元類:如不包含a到z的字串:字串不包含中括號中字元[^abcd]

範圍字元類:如包含a到z的字串:[a-z],如不包含a到z的字串:[^a-z],

表示a到z和0到9[a-z0-9],表示a到z或0到9[a-z 0-9]

量值:如? 代表0次或一次。* 代表0次或多次。+ 代表1次或多次。

代表指定要出現n次。代表出現n次以上。代表出現n次到m次。

硬性量值:指定了數目的多少

軟性量值:沒有指定數目的多少

按懶惰情況來分:

貪婪的:它一直往下匹配,它首先讀第乙個字元進行匹配,如果匹配不成功,則讀下乙個字元,並把前面不匹配的字元刪除掉。如果匹配,則把相匹配的字串擷取出來放進陣列中。如果字串長度不為0,則繼續往下讀取。我們到目前為止用的都是貪婪的。

惰性的:首先看字串中的第乙個字元是否匹配。如果這個字元不匹配的話,那麼繼續讀取下乙個字元,組成兩個字元,一直這樣下去。如果匹配成功的話,那麼就把相匹配的字串擷取出來放進陣列中,再從新開始讀取。

只以出現最少次數匹配。

區分貪婪的和惰性的就是看量值後面是否加了乙個?,如果沒有加就是貪婪的,如果加了就是惰性的。

複雜模式:

它就是由分組,反向引用,前瞻和其他的一些正規表示式功能組成。

分組:是通過一對小括號包含一系列字元組成。如:var ref = /(dog)*/gi; 一般是用在當要查詢乙個字串出現多少次數。

邊界:^代表字串的頭邊界,$代表字串的尾邊界。如:var ref =/^\w*$/g;

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式 表示式

網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...

Linux正規表示式 編寫正規表示式

為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...