pyregex:
regexper:
檢查文字中是否含有指定的特徵詞
找出文中匹配特徵詞的位置
從文字中提取資訊,比如:字串的子串
修改文字
描述
\轉義符
(), (?:), (?=),
圓括號和方括號
*, +, ?, , ,
限定符^, $, \anymetacharacter
位置和順序
匹配[...]
方括號內的任意字元
1不在方括號內的任意字元
.除了換行符和其他unicode行終止符之外的任意字元
\w任何ascii字元組成的單詞,等價於[a-za-z0-9]
\w任何不是ascii字元組成的單詞,等價於2
\s任何unicode空白符
\s任何非unicode空白符的字元
\d任何ascii數字,介於[0-9]
\d除了ascii數字之外的任何字元,等價於3
\b退格直接量
匹配匹配前一項至少n次,但不能超過m次
匹配前一項n次或更多次
匹配前一項n次
?匹配前一項0次或者1次,也就是說前一項是可選的,等價於
+匹配前一項1次或多次,等價於
*匹配前一項0次或多次,等價於匹配$
匹配字串的結尾,在多行檢索中,匹配一行的結尾
^匹配字串的開頭,在多行檢索中,匹配一行的開頭
\a只有匹配字串開始處
\b匹配單詞邊界,詞在 內時無效
\b匹配非單詞邊界
\g匹配當前搜尋的開始位置
\z匹配字串結束處或行尾
\z只匹配字串結束處
匹配情況
(string)
用於反向引用的分組
\1 或$1
匹配第乙個分組中的內容
\2 或$2
匹配第二個分組中的內容
\3 或$3
匹配第三個分組中的內容
字元 含義
i 執行不區分大小寫的匹配
g 執行乙個全域性匹配,即找到所有匹配而非一次匹配
m 多行匹配模式,^匹配一行的開頭和字串開頭,$匹配行的結束和字串的結尾
test
():檢索字串中的指定值。返回值是布林值。
exec
():返回乙個陣列,陣列中的第乙個條目是第乙個匹配,其他的是反向引用
compile
() 既可以改變檢索模式,也可以新增或刪除第二個引數。
含義
match(pattern)
返回 pattern 中的子串或 null
replace(pattern, replacement)
用 replacement 替換 pattern
search(pattern)
返回字串中 pattern 開始位置
split(pattern)
返回字串按指定 pattern 拆分的陣列
/expression/
"expression"
//匹配帳號是否合法(字母開頭,允許5-16位元組,允許字母數字下劃線
var re =new
regexp("^[a-za-z][a-za-z0-9_]$");
`if(re.test(aaaa))else
/*使用 match 方法獲取獲取匹配陣列*/
var pattern = /box/ig;//全域性搜尋
var str = 'this is a box!,that is a box too';
alert(str.match(pattern)); //匹配到兩個 box,box
console.log(str.match(pattern).length);//獲取陣列的長度
/*使用 search 來查詢匹配資料*/
var pattern = /box/ig;
var str = 'this is a box!,that is a box too';
console.log(str.search(pattern));//查詢到返回位置,否則返回 -1
/*使用 replace 替換匹配到的資料*/
var pattern = /box/ig;
var str = 'this is a box!,that is a box too';
console.log(str.replace(pattern, 'cat'));//將 box 替換成了 cat
/*使用 split 拆分成字串陣列*/
var pattern = / /ig;
var str = 'this is a box!,that is a box too';
console.log(str.split(pattern));//將空格拆開分組成陣列
/* 統計子字串出現的所有位置*/
function
count(str)
}count('abcdefabcdefabcdefabcdef');
[ 'def', index: 3, input: 'abcdefabcdefabcdefabcdef' ]
[ 'def', index: 9, input: 'abcdefabcdefabcdefabcdef' ]
[ 'def', index: 15, input: 'abcdefabcdefabcdefabcdef' ]
[ 'def', index: 21, input: 'abcdefabcdefabcdefabcdef' ]
"into".match(/in | int/);
\ / [ ] () ? + * | . ^ $
\f : 換頁符
\n : 換行符
\r : 回車符
\t : 製表(tab)符
\^ 匹配 ^ 符號本身
\$ 匹配 $ 符號本身
\. 匹配小數點(.)本身
string.prototype.trim = function () ;
^[a-za-z]+$ //匹配由26個英文本母組成的字串
^[a-z]+$ //匹配由26個英文本母的大寫組成的字串
^[a-z]+$ //匹配由26個英文本母的小寫組成的字串
^[a-za-z0-9]+$ //匹配由數字和26個英文本母組成的字串
^\w+$ //匹配由數字、26個英文本母或者下劃線組成的字串
javascript 正規表示式筆記錄
在js中,正規表示式由regexp物件標示,也可以用regexp 函式來建立。正規表示式是定義在 之間。s 匹配以s結尾的字串,標示結尾的意思。在正規表示式中有些字元具有特殊的含義。在匹配的表示式中 abc 匹配a,b,c中任意乙個 abc 不匹配其中任意乙個 a z 匹配小寫字母 a z0 9 匹...
JavaScript正則驗證函式
1 驗證年齡格式 年齡只能0 99,兩位數 2 控制文字框只能輸入數字 3 驗證字串是否只包含數字 4 驗證email格式 5 驗證文字必須是英文 6 驗證貨幣格式 保留小數點2位 7 驗證url格式 8 驗證手機格式 9 驗證年份格式 10 驗證日期格式 yyyy mm 11 驗證正負貨幣格式 保...
JavaScript中正則驗證
在一次使用js的正則對輸入字串進行驗證時,使用了正則物件的test方法,此次,我的驗證是對乙個版本號的格式的驗證 版本號格式如下 a.b.c,其中,a b c均是乙個一到三位的數字,比如,1.2.3。正規表示式 var reg d.d.d g,這是乙個完全匹配。第一次呼叫 reg.test a.b....