javaScript正則表達式入門
1.教科書級別概念:正則表達式(regular expression)描述了一種字符串匹配的模式(pattern),
可以用來檢查一個串是否含有某種子串、將匹配的子串替換或者從某個串中取出符合某個條件的子串等。
(紙上得來終覺淺 啊!!!)
2.寫法
(1). var reg=/a/; (ps:簡寫的方式可以優化性能)
(2). var reg= new RegExp("a") ; (ps:需要傳入參數就可以這樣寫)
附圖三張:
3.方法
(1).test:正則去匹配字符串,如果匹配成功就返回真,如果匹配失敗就返回假 用法: 正則表達式.test(string)
舉起我們手中的栗子:
var str1="12345687";
var reg1=/\D/; //非數字
console.log(reg1.test(str1)) ; //false
(2).search: 正則去匹配字符串,如果匹配成功就返回匹配成功的位置,匹配失敗返回-1 用法:string.search(正則表達式)
栗子:
var str2="abf";
var reg2=/B/i;
console.log(str2.search(reg2)); // 1
(3).match:正則去匹配字符串,如果匹配成功就返回匹配成功的數組,匹配失敗返回null 用法:string.match(正則表達式)
栗子:
var str3="dhaidha141frjn5515405";
var reg3=/\d/g; //正則匹配成功就會結束,不會繼續匹配;如果想全部查找,就要加標識 g(全局匹配) \d 代表的是匹配數字
console.log(str3.match(reg3)); // ["1", "4", "1", "5", "5", "1", "5", "4", "0", "5"] ps:匹配成功,就返回匹配成功的數組 匹配失敗就返回null
(4).replace:正則去匹配字符串,匹配成功的字符去替換成新字符
var str4="aaacc";
var reg4=/a+/g;
console.log(str4.replace(reg4,"b")); //bcc
4.這裏說幾個基礎語法,以方便我們更好的和正則表達式溝通 哈哈哈
(1) * , +, ?
栗子:
var str="abbbbb";
var res=/ab*/; //表示一個字符串有一個字母a後面跟著零個或者若幹個b (0 or 若幹)
var res=/ab+/; //表示一個字符串有一個字母a後面跟著至少一個或者若幹個b (1 or 若幹)
var res=/ab?/; //表示一個字符串有一個字母a後邊跟著零個或者一個b (0 or 1)
var res=/a?b+$/; //表示一個字符串的結尾有零個或者一個a後面跟著至少一個或者若幹個b 如 abbbbc
(2) { } 代表範圍
var str="abb";
var res=/ab{2}/; //表示有一個字符串有一個字母a後面跟著2個b
var str0="abbbbbb";
var res=/ab{3,}/; //表示一個字符串有一個字母a後面跟著至少3個或者更多個b
var res=/ab{1,5}/; //表示一個字符串有一個字母a後面跟著至少1~5個b
(3) [ ] 方括號表示某些字符允許在一個字符串中的某一特定位置出現
var str="15228";
var res=/[0-9]/; //一個字符串是0-9之間的數字
var str1="a14545dajhfa";
var res=/^[a-zA-Z]/; //一個字符串以字母開頭的
今天的正則表達式入門先到這裏,我們下期見~~~
javaScript正則表達式入門