筆記 vscode 正規表示式

2021-10-05 04:08:28 字數 1360 閱讀 5430

【實現查詢特定函式fun_name,並替換其中的某個引數】

1.常用萬用字元:

//matches the previous element zero or more times.

quantifier description pattern matches

. //匹配任意字元(匹配次數 n==0||1) a.c ac,abc

//查詢以a開頭,以c結束的字串

.* //匹配任意字元任意次數 a.*c a1b23c

eg: input search_result

a.*c abcabcabcabc //匹配以「a」開始,以"c"結束的任意字串

//(僅以最後一次出現字元「c」為結束)

? //非貪婪運算子

.*? //僅以第一次出現結束字元為終止

\ //轉義運算子

eg: input search_result

fun\(.*\) fun(type1,type2,...,typen)

//由於"()"為取值運算子,匹配"("和「)」,需要進行轉義運算

回到我們最初的目的實現查詢特定函式fun_name,並替換其中的某個引數int2為int3

fun_name(char,int1,int2,double1)

正規表示式的查詢方式:

fun_name\(.*\) //轉義括號,匹配所有fun_name()函式

正規表示式的查詢替換

查詢:fun_name\((.*)\) //(),取值運算,做查詢替換是可以用 $1 取值

替換:fun_name($1) //替換不需要做轉義運算

//此語句並沒有替換任何字元

查詢:fun_name\((.*?),(.*?),(.*?),(.*?)\) //?:第一次遇到","就會停止

如果寫成 fun_name\((.*),(.*),(.*),(.*)\) //沒有"?"運算子

$1=「char,int1,int2,double1」

而不是 $1=「char」

正確寫法:

查詢:fun_name\((.*?),(.*?),(.*?),(.*?)\)

替換:fun_name($1,$2,int3,$4)

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

筆記直接使用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 匹...