一.什么是正則表達(dá)式
正則表達(dá)式用來(lái)定義一些字符串的規(guī)則,計(jì)算機(jī)可以根據(jù)正則表達(dá)式將字符串中符合規(guī)則的內(nèi)容提取出來(lái)
二.創(chuàng)建正則表達(dá)式的方式
使用構(gòu)造函數(shù)創(chuàng)建正則表達(dá)式
new RegExp("正則表達(dá)式","匹配模式"),用構(gòu)造函數(shù)創(chuàng)建的正則更加靈活,因?yàn)樵搮?shù)為一個(gè)字符串因此可以傳入一個(gè)變量
使用字面量創(chuàng)建正則表達(dá)式
var reg = /正則表達(dá)式/匹配模式,用字面量創(chuàng)建的正則更簡(jiǎn)單
三.正則表達(dá)式規(guī)則
匹配模式 1. i? 忽略大小寫(xiě), 2. g 全局匹配模式
使用 | 表示或者的意思
[]里的內(nèi)容也是或的關(guān)系,[ab]a或b? [a-z]任意小寫(xiě)字母,[A-Z]任意大寫(xiě)字母,[A-z]任意字母,[0-9]任意數(shù)字
[^ab ]表示除了a和b? [a-c]表示除了a和b和c
量詞, 只對(duì)前面一個(gè)內(nèi)容起作用,可以用(),表示一個(gè)內(nèi)容/a{n}/,連續(xù)出現(xiàn)n次a
{m,n}出現(xiàn)m-n次; {m,}m次以上;+,表示至少一個(gè);*表示0或多個(gè);?相當(dāng)于0個(gè)或一個(gè)
/^a/表示以a開(kāi)頭;/a$/以a結(jié)尾;/^a$/只能有一個(gè)a
.表示任意字符,可以用.進(jìn)行轉(zhuǎn)義,\\表示一個(gè)\,在構(gòu)造函數(shù)中需要用兩個(gè)\\來(lái)表示一個(gè)\
\w :表示任意字母,數(shù)字和_ ;\W : 表示除了表示任意字母,數(shù)字和_ ; \d表示任意數(shù)字;/D表示除了任意數(shù)字,\s: 表示空格; \S表示除了空格;\b單詞邊界; \B除了單詞邊界
除去開(kāi)頭和結(jié)尾的空格: /^\S*|\S*$/g
四.正則表達(dá)式方法
test()用來(lái)檢查一個(gè)字符串是否符合正則表達(dá)式的規(guī)則,語(yǔ)法:語(yǔ)法:reg.test(str)
exec()用來(lái)捕獲符合正則表達(dá)式的字符串,語(yǔ)法:reg.exec(str),該方法會(huì)返回一個(gè)數(shù)組,
數(shù)組包含:[符合規(guī)則的字符串,符合字符串的索引值,原始字符串,...]