正则表达式简介
正則表達(dá)式
正則表達(dá)式(Regular Expression),用于匹配字符串中字符組合的模式,在javascript中正則表達(dá)式也是對(duì)象。這些模式被用于 RegExp 的 exec和 test方法, 以及String 的match、matchAll、replace、search、split方法。
元字符:
創(chuàng)建正則表達(dá)式:
1.通過RegExp對(duì)象的構(gòu)造函數(shù)創(chuàng)建:
var regexp = new RegExp(/表達(dá)式/); //MDN文檔中/表達(dá)式/可以寫成'表達(dá)式',僅在調(diào)用構(gòu)造函數(shù)創(chuàng)建對(duì)象適用var regexp = new RegExp('ab+c', 'i');2.通過字面量的方式創(chuàng)建,實(shí)際開發(fā)中推薦使用字面量的方式創(chuàng)建正則表達(dá)式對(duì)象:
var regexp = /表達(dá)式/;正則表達(dá)式中的參數(shù):
正則表達(dá)式中的參數(shù)也稱為修飾符,這個(gè)修飾符放在正則表達(dá)式的最后面,可以分為三種模式:g全局匹配、i忽略大小寫、gi全局忽略大小寫匹配、m多行搜索、s允許 . 匹配換行符、u使用unicode碼的模式進(jìn)行匹配、y執(zhí)行“粘性(sticky)”搜索,匹配從目標(biāo)字符串的當(dāng)前位置開始,如:
var rg = /a/g;檢測(cè)字符串是否符合正則表達(dá)式:
通過test()方法驗(yàn)證字符串是否滿足正則表達(dá)式,返回的是布爾值,如:
<script>var rg = new RegExp(/[0-9a-zA-Z]{6,10}@qq.com/);var result = rg.test('324222@qq.com');console.log(result); //truevar rg1 = /[0-9a-zA-Z]{6,}/;var result1 = rg1.test('safji af');console.log(result1); //false</script>exec方法檢測(cè)是否符合正則表達(dá)式:
exec()方法是用來判斷一個(gè)字符串是否滿足某個(gè)正則表達(dá)式,如果滿足則以數(shù)組的形式返回這個(gè)字符串中滿足的字符結(jié)果,不滿足則返回null。
<script>var rg = /[0-9]{1,3}/g;var result = rg.exec('f12w3dd33r');console.log(result); //["12", index: 1, input: "f12w3dd33r", groups: undefined]</script>正則表達(dá)式中替換:
正則表達(dá)式中替換還是用字符串中replace(查找字符,替換字符)方法,只是replace方法中第一個(gè)參數(shù)使用正則表達(dá)式,如:
<script>var rg = /a/g;var str = 'abcdseaadsada';console.log(str.replace(rg, ''));</script>提示:本文圖片等素材來源于網(wǎng)絡(luò),若有侵權(quán),請(qǐng)發(fā)郵件至郵箱:810665436@qq.com聯(lián)系筆者 刪除。
筆者:苦海
總結(jié)
- 上一篇: python新手入门课_Python基础
- 下一篇: flux读取不到数据_初学flux的疑问