日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript-8(正则表达式)

發(fā)布時間:2025/3/14 javascript 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript-8(正则表达式) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、正則表達(dá)式

1.定義

  • 對字符串進(jìn)行描述的

2.作用

  • 表單驗證
  • 驗證 郵箱/電話/郵編 ....
  • WEB編輯器
  • 爬蟲、數(shù)據(jù)抓取、小偷程序

3. 定義正則表達(dá)式

  • 直接量
  • 函數(shù)
  • 構(gòu)造函數(shù)

二、 正則表達(dá)式基礎(chǔ)

1.原子

  • 正則表達(dá)式的最小組成單位
  • 普通的字母、數(shù)字、符號 都是原子
  • 轉(zhuǎn)義字符
  • 字符類

2.字符直接量(原子)

  • 原子的重要組成
  • 普通的字母、數(shù)字、符號
  • \n換行
  • \t制表
  • \r回車
  • \v垂直制表
  • \f換頁
  • \\
  • \b 退格符
  • \x00
  • \u0000

3.字符類(原子)

  • \d 數(shù)字 [0-9]
  • \D 除了數(shù)字之外的字符 [^0-9]
  • \w 數(shù)字、字母、下劃線 [0-9a-zA-Z_]
  • \W 除了數(shù)字、字母、下劃線 之外的字符 [^0-9a-zA-Z_]
  • \s 空白符 [\n\t\v\r\f ]
  • \S 除了空白符之外的字母 [^\n\t\v\r\f ]
  • . 除了換行外所有的字符 [^\n\r]
  • [...] [0-9]表示一個范圍,只要有一個滿足即可
  • [^...]除了...都匹配
  • [\b] 匹配退格符

4.重復(fù)(對原子的數(shù)量修飾)

  • + 表示前面原子出現(xiàn)1次或多次 {1,}
  • ? 表示前面的原子出現(xiàn)0次或1次 {0,1}
  • * 表示前面的原子出現(xiàn)0次1次或多次 任意次 {0,}
  • {m} 前面的原子出現(xiàn)m次
  • {m,n} 前面的原子出現(xiàn)m到n次
  • {m,} 前面出現(xiàn)的原子個數(shù)m次以上
  • 貪婪匹配
    • 正則默認(rèn)會貪婪匹配,阻止貪婪匹配在數(shù)量修飾符后面加?
    • /\w+?e/.exec("orangere") 只會匹配orange而不是orangere

5.指定匹配的位置 (對原子位置的修飾)

  • \b 單詞邊界
  • \B 不是單詞邊界
  • ^ 字符串開始邊界
  • $ 字符串結(jié)束邊界
  • 先行斷言(正向預(yù)查) (?=)
  • 負(fù)向先行斷言(負(fù)向預(yù)查) (?!)

    //只能匹配后面的,不能匹配前面console.log(/(?=p)apple/.exec("apple"));//nullconsole.log(/(?=p)apple/.exec("papple"));//nullconsole.log(/apple(?=p)/.exec("applep"));//數(shù)組/*永遠(yuǎn)不可能滿足*/console.log(/^apple(?=p)$/.exec("applep"));//null

6. 選擇修飾符

  • |邏輯或
  • ab(c|d)ef匹配abcef 或 abdef

7. 模式單元 ()

  • 改變優(yōu)先級
  • 把多個原子當(dāng)做一個原子
  • 把模式單元匹配的內(nèi)容暫存內(nèi)存 (?:) 可以取消暫存內(nèi)容
  • 暫存內(nèi)存的內(nèi)容可以被反向引用

    <script>//改變優(yōu)先級console.log(/apple|orange/.test("apple"));//trueconsole.log(/appl(e|o)range/.test("apple"));//falseconsole.log(/appl(e|o)range/.test("applerange"));//trueconsole.log("");//把多個原子當(dāng)做一個原子console.log(/abc{4}/.test("abcccc"));//trueconsole.log(/(abc){4}/.test("abcccc"));//falseconsole.log(/(abc){4}/.test("abcabcabcabc"));//trueconsole.log("");//模式單元的內(nèi)容會 單獨存儲到內(nèi)存中console.log(/abc/.exec("123abc123abc"));/*["abc", index: 3, input: "123abc123abc"]*/console.log(/a(b)c/.exec("123abc123abc"));/*["abc", "b", index: 3, input: "123abc123abc"]*/console.log(/(ab)c/.exec("123abc123abc"));/*["abc", "ab", index: 3, input: "123abc123abc"]*/console.log(/(ab)(c)/.exec("123abc123abc"));/*["abc", "ab", "c", index: 3, input: "123abc123abc"]*/console.log(/(ab)(?:c)/.exec("123abc123abc"));/*["abc", "ab", index: 3, input: "123abc123abc"]*/</script>

8. 修飾符(模式修正符)

  • i 正則表達(dá)式不區(qū)分大小寫
  • m 允許多行(換行被當(dāng)做字符串結(jié)束符)
  • g 全局匹配

    <script>//i 不區(qū)分大小寫console.log(/^aAbB$/.test("aabb"));//falseconsole.log(/^aAbB$/i.test("aabb"));//trueconsole.log("");//m 多行模式 字符串邊界console.log(/^a/.exec("orange\napple"));nullconsole.log(/^a/m.exec("orange\napple"));/*["a", index: 7, input: "orange?apple"]*/console.log(/\w$/m.exec("orange\napple"));/*["e", index: 5, input: "orange?apple"]*/console.log(/\w$/.exec("orange\napple"));/*["a", index: 7, input: "orange?apple"]*/</script>

三、 正則的使用

1.RegExp對象

  • test() true/false
  • exec() 數(shù)組/null

2.String對象

  • search() 匹配成功(第一次滿足正則的位置) 匹配失敗(-1)
  • match() 匹配成功(返回數(shù)組 全局匹配影響) 失敗(null)
  • replace() 替換
  • split() 把字符串分割為數(shù)組

    <script>//searchconsole.log("abc123".search(/\d{2}/));//3console.log("abc123".search(/^\d{2}/));//-1//matchconsole.log("1abc34io".match(/[a-z]{2}/));/*["ab", index: 1, input: "1abc34io"]*/console.log("1abc34io".match(/[a-z](\d)/));/*["c3", "3", index: 3, input: "1abc34io"]*/console.log("1abc34io".match(/[a-z]{2}/g));/* ["ab", "io"]*/console.log("1abc34io".match(/[a-z]{9}/g));//nullconsole.log("");//replaceconsole.log("helloleelag".replace("l","呀"));/*he呀loleelag*/console.log("helloleelag".replace(/l/,"呀"));/*he呀loleelag*/console.log("helloleelag".replace(/l/g,"呀"));/*he呀呀o呀ee呀ag*/console.log("helloleelag".replace(/\w/g,"呀"));/*呀呀呀呀呀呀呀呀呀呀呀*/console.log("");//splitvar message="jim.jack,rose,tom,lili,yanyan";console.log(message.split(","));/*["jim.jack", "rose", "tom", "lili", "yanyan"]*/console.log(message.split(/[,.]/));/*["jim", "jack", "rose", "tom", "lili", "yanyan"]*/</script>

轉(zhuǎn)載于:https://www.cnblogs.com/1666818961-lxj/p/7436764.html

總結(jié)

以上是生活随笔為你收集整理的JavaScript-8(正则表达式)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 男人综合网 | 国产精品爱啪在线线免费观看 | av在线一区二区 | 欧美撒尿777hd撒尿 | 在线播放视频高清在线观看 | 白嫩初高中害羞小美女 | 色图一区 | 国产91精品一区二区麻豆亚洲 | 天堂俺去俺来也www 欧美大片在线播放 | 在线观看日本网站 | 看黄色的网址 | www.久久.com| 中文字幕乱码人妻无码久久 | 无套在线观看 | 九九天堂 | 中文字幕乱码亚洲精品一区 | 97成人精品视频在线观看 | 欧美一区二区福利视频 | 香蕉大人久久国产成人av | 一级激情视频 | 日韩在线观看中文字幕 | 久久99精品视频 | 麻豆传媒网页 | 91精品大片 | 一区二区三区福利 | 欧美国产精品 | 伊人网免费视频 | 亚洲第一区在线播放 | 炕上如狼似虎的呻吟声 | 天天舔天天爱 | 97网站| 亚洲色图欧洲色图 | 国产一级黄色录像 | 日本韩国欧美一区二区 | 在线观看免费小视频 | 污污污污污污www网站免费 | 上原亚衣在线观看 | 日韩av毛片 | 日本一二三区视频在线 | 亚洲人午夜精品 | 欧美大片在线看免费观看 | 色婷婷热久久 | 亚洲天堂一级 | 91看片在线| 男男肉耽高h彩漫 | 成人涩涩网 | 一级少妇毛片 | 欧美激情动态图 | 99久久99| 麻豆精品一区 | 成年人网站免费视频 | 日韩精品一区三区 | 自拍第一页 | 日本美女日批视频 | 国产精品久久久 | 色午夜 | 无人在线观看的免费高清视频 | 日韩专区中文字幕 | 国产精品扒开腿做爽爽爽视频 | 国产不卡视频在线 | aaaaa黄色片 天堂网在线观看 | 日本wwwxxxx| 国产黄频| 精品一区二区三区在线播放 | 欧美视频精品 | 天堂在线视频观看 | 男男巨肉啪啪动漫3d | 中文字幕专区 | 久久久精品毛片 | 蜜臀久久精品久久久久 | 欧美人狂配大交3d | 欧美第一网站 | 老熟女高潮喷水了 | 天堂va蜜桃一区二区三区 | 少妇闺蜜换浪荡h肉辣文 | 久久网一区 | 成人久久久精品国产乱码一区二区 | 欧美成人看片黄a免费看 | 色综合啪啪 | 国产日韩二区 | 日韩国产亚洲欧美 | 国产av天堂无码一区二区三区 | 免费网站www在线观看 | 亚洲国产日韩精品 | 钰慧的mv视频在线观看 | 色涩色 | 欧美日韩免费视频 | 成人免费aaa| 91丝袜在线观看 | 一级黄色特级片 | 久久久久久久极品内射 | 青青草日本 | 操极品| 色屁屁一区二区三区视频 | 变态另类一区 | h小视频在线观看 | 欧美 日韩 人妻 高清 中文 | 亚洲精品男人天堂 | 亚色一区 |