正規表示式 筆記

2021-08-31 20:13:16 字數 1764 閱讀 4089

第七章 正規表示式

一、正規表示式的支援

var reg=new regexp("cat")//匹配字串中第一次出現的cat

var reg=new regexp("cat","g")//「g」是global的縮寫,匹配字串中所有cat

var reg=new regexp("cat","gi")//i表示不區分大小寫

var reg=/cat/gi;//perl風格寫法

test() 返回true、false

exec() 返回陣列

match() 返回乙個包含在字串中所有匹配的陣列

search() 返回第一次出現的索引

為什麼有些符號必須轉義,因為這些符號是元字元,元字元是正規表示式中一部分

元字元有:([ ->一定出現n次

->至少出現n次不超過m次

->至少出現n次

eg: /b?cds?d/=/bcdsd/

貪婪量詞:先看整個字串是不是乙個匹配,不是的話,減去最後乙個字元,再匹配,類似迴圈,直到結束。符號表示同簡單量詞

支配量詞:只嘗試匹配整個字串。在簡單量詞後面加"+"號

候選符號:|

邊界符:

^ 行開頭

$ 行結尾

\b 單詞邊界

\b 非單詞邊界

三、regexp物件

1.例項屬性

global(g)------boolean值,表示全域性選項是否設定

ignorecase(i)-----boolean值,表示是否忽略大小寫

lastindex---------整數,代表下次匹配會從那個字元開始,也就是當前匹配的最後索引值(盡在使用exec() or test()函式才會填入,否則預設為0,即從頭開始匹配)

multiline(m)-----boolean值,表示是否是國航匹配模式

source---源字串形式

2.靜態屬性

長名-----------------短名-----描述

input---------------$_ 最後用於匹配的字串(傳遞給exec() or test()的字串)

lastmatch-----------$& 最後匹配的字元

pastparen-----------$+ 最後匹配的分組

leftcontext---------$` 在上次匹配的前面的子串

multiline-----------$* 是否啟用多行模式

rightcontext--------$' 在上次匹配的後面的子串

eg:var stomatch="this has been a short,short number";

var reshort=/(s)hort/g;

reshort.test(stomatch);

alert(regexp.input); 或者 alert(regexp.$_); //返回"this has been a short,short number"

alert(regexp.leftcontext); 或者 alert(regexp["$`"]); //返回"this has been a "

alert(regexp.rightcontext); 或者 alert(regexp["$'"]); //返回",short number"

alert(regexp.lastmatch); 或者 alert(regexp["$&"]); //返回"short"

alert(regexp.pastparen); 或者 alert(regexp["$+"]); //返回"s"

正規表示式 正規表示式函式 筆記

筆記直接使用pycharm製作,需要原始檔請私聊。正規表示式函式 1.match 2.search 3.全域性匹配函式 全域性匹配 re.compile 正規表示式 findall 資料 import re string poythonydasadcasa pat2 p.y 懶惰模式執行 較精準 r...

正規表示式筆記

不同的語系編碼的順序不一樣 lang c 0 1 2 3 a b c d z a b c d z lang zh cn 0 1 2 3 4 a a b b c c z z 使用正規表示式時,需要留意環境的語系是什麼,否則會有不同的結果 alnum 英文大小寫字元及數字 0 9 a z a z alp...

正規表示式筆記

d 0 9中的任意乙個數字 w a z,a z,0 9,中的任意乙個,即字母數字下劃線 s 空格,製表符,換頁符等空白字元的其中任意乙個 小數點可以匹配換行符 n 以外的任意乙個字元 匹配某範圍內的任意乙個字元 ab9 匹配 a b 9 中的任意乙個 abc 匹配abc之外的任意乙個字元 a g 匹...