JS實現正規表示式
一、建立正規表示式
一共有兩種方式:
1.直接量:var re = /[0-9]*/;
2.通過RegExp物件的建構函式:var re = RegExp(“[0-9]*”,”i”);
二、RegExp中正規表示式的屬性與方法,以及String中常用的匹配字串的方法
1.RegExp():建構函式,有兩個引數,第一個引數是正規表示式,第二個引數是表示使用什麼樣的模式來匹配。第二個引數可以省略。
2.exec():一個在字串中執行查詢匹配的RegExp方法,它返回一個陣列(未匹配到則返回null)。該方法有一個引數,表示要匹配的字串
var re = RegExp("[0-9]{2}");//匹配兩個數字 var regex = re.exec(1234567);//返回的是一個資料["12", index: 0, input: "1234567"]
exec()
3.test():一個在字串中測試是否匹配的RegExp方法,它返回true或false。該方法有一個引數,表示要匹配的字串
var re = new RegExp("[0-9]{2}"); var result = re.test(1234567);
test()
以下是String中匹配字串的方法
4.match():一個在字串中執行查詢匹配的String方法,它返回一個陣列或者在未匹配到時返回null。
var re = new RegExp("[0-9]{2}"); var result = "1234567".match(re);//結果["12"]
match()
5.search():一個在字串中測試匹配的String方法,它返回匹配到的位置索引,或者在失敗時返回-1。
var re = new RegExp("[0-9]{3}"); var result = "jack12314563".search(re);//結果 4
search()
6.replace():一個在字串中執行查詢匹配的String方法,並且使用替換字串替換掉匹配到的子字串。
var re = new RegExp("([0-9]{3})"); var result = "jack123tom".replace(re,`數字`);//jack數字tom
replace()
7.split():一個使用正規表示式或者一個固定字串分隔一個字串,並將分隔後的子字串儲存到陣列中的String方法。
var re = new RegExp("([,,])"); var result = "jack,tom,superman,老王,老李".split(re);//["jack", ",", "tom", ",", "superman", ",", "老王", ",", "老李"] var result = "jack,tom,superman,老王,老李".split(re,3);//["jack", ",", "tom"]
View Code
三、使用模式來匹配字串
在JS中有三種模式:
g:執行全域性搜尋,預設,在查詢到匹配的情況下是停止查詢的。如果使用g模式匹配的話,會找到所有的匹配。
var re = new RegExp("1([0-9]*?)3","g"); var result = "12314563".match(re);//結果 ["123", "14563"]
g模式下的匹配
i:忽略大小寫的匹配
var re = new RegExp("jack","i"); var result = re.exec("JACK TELL ME");//結果 ["JACK", index: 0, input: "JACK TELL ME"]
i模式下的匹配
m:多行下的模式匹配,其中^表示行的開始,$表示行的結尾。
var re = new RegExp(".*jack$","m"); var result = re.exec("jack TELL ME tom TELL jack");//結果 ["tom TELL jack", index: 13, input: "jack TELL ME↵tom TELL jack"]
m模式下的匹配
四、例子
//查詢字串中所有的郵箱
var re = /w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*/gi;
var result = “tom@qq.com這是誰的郵箱,廈門:1234567@163.com,還有這個 google@gmail.com”.match(re);
console.log(result);//[“tom@qq.com”, “1234567@163.com”, “google@gmail.com”]
以上資源部分來源於:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions
相關文章
- 實戰JS正規表示式JS
- [js]正規表示式JS
- js正規表示式JS
- js 正規表示式JS
- js正規表示式速查JS
- 常用js正規表示式JS
- JS 的正規表示式JS
- 正規表示式之python實現Python
- JS正規表示式入門JS
- JS基礎:正規表示式JS
- JS中的正規表示式JS
- JS金額正規表示式JS
- JS正規表示式驗證JS
- JS正規表示式總結JS
- JS助記 ----- 正規表示式JS
- js正規表示式基本用法JS
- JS常用正規表示式及驗證時間的正規表示式JS
- js中的正規表示式(1)JS
- JS筆記(15): 正規表示式JS筆記
- JS正規表示式的驗證JS
- JS 活學活用正規表示式JS
- 關於JS的正規表示式JS
- JS之正規表示式詳解JS
- 過目不忘 JS 正規表示式JS
- JS正規表示式使用詳解JS
- js正規表示式例項(整理)JS
- 通過js正規表示式例項學習正規表示式基本語法JS
- 正規表示式實踐文章
- 正規表示式
- JS常用正規表示式備忘錄JS
- 淺談js中的正規表示式JS
- 學習正規表示式(js、C#)JSC#
- JS正規表示式完整教程(略長)JS
- js正規表示式如何匹配註釋JS
- js中常用的正規表示式【Z】JS
- js正規表示式常用函式詳解(續)JS函式
- 20個實用正規表示式
- 【正規表示式】常用的正規表示式(數字,漢字,字串,金額等的正規表示式)字串