正規表示式筆記

2021-07-28 22:28:34 字數 1786 閱讀 5368

題記:「笑來書裡說,年輕人往往覺得時間還有很多,感覺不到時間總在一分一秒地過去;等他們醒悟,明白這一點,許多事情已經無能為力了。」

一.基本知識

正規表示式:regular expression,字串操作的邏輯公式,定義規則字串。用來匹配合法輸入等操作。

常見字元表示:

\轉義字元*匹配

匹配n次

^開始+匹配

至少匹配n次

$結束?匹配

最少匹配n

次,做多匹配m次

|或\b

單詞邊界

\f換頁

[xyz]

字元集合

\b非單詞邊界

\n換行

[^xy]

不包含字元

\cxcontrol-』x』

\r回車

[a-z]

字元範圍

\d[0,9]

\s不可見字元[\f\n\r\t\v]

[^a-z]

不在範圍

\d非數字[^0-9] \s

可見字元

\v \t

製表符\w

包括下劃線單詞字元

\w任何非單詞字元

a.?跟在其他限制符(*,+,?,,,

)後,表示非貪婪,盡可能少的匹配;

b.  非匹配獲取

二.常見正規表示式

3. 整數或小數:」^[0-9]+([.][0-9]+)?$」;

4. ip位址

: (1-255).(0-255).(0-255).(0-255)

"^(1\\d|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."

+"(1\\d|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."

+"(1\\d|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."

+"(1\\d|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$"

三.其他

1. qt regexp

#include

qlineedit *edit = new qlineedit();

qregexp regex("^ [1-9] (\\. \d ) | 10$");

qvalidator *validator = new qregexpvalidator(regex, edit);

edit -> setvalidator(validator);

2. js regexp()

a. 匹配格式是否正確

只允許輸入:1-10之內整數/可包含小數,不限小數點後位數

var regexp = /^([1-9](\.\d*)? ||10)$/ig;

只允許輸入:-90到90之間整數/可包含小數,不限小數點後位數

var regexp = /^((-)?((\d || [1-8]\d) (\.\d*)?) || 90)$/ig;

if (regexp.test($("#input_id").val())) 

return true;

var patrn=/^  $/;

if (!patrn.exec(s))

return false; 

b. replace/操作匹配到的字串

3. 正規表示式校驗軟體

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

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