題記:「笑來書裡說,年輕人往往覺得時間還有很多,感覺不到時間總在一分一秒地過去;等他們醒悟,明白這一點,許多事情已經無能為力了。」
一.基本知識
正規表示式: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 匹...