n+ 代表匹配多個(gè)或1個(gè)符合n的字符
- +有些類似g全局匹配,但不同的是會(huì)將連續(xù)符合規(guī)則的字符連接在一起常潮。
- 正則具有兩個(gè)特性:
- 不回頭:匹配過的字符保礼,不會(huì)再匹配
- 貪婪模式:能匹配多則不匹配少(針對(duì)量詞+才有貪婪镐依?)
var str = 'abc'
var reg = /\w+/g
str.match(reg) // ["abc"]
var reg1 = /\w/g
str.match(reg) // ["a", "b", "c"]
var reg2 = /\w+/
str.match(reg) // ["abc"]
var str = 'a+bc'
var reg = /\w+/g
str.match(reg) // ["a", "bc"]
var str = 'a+bc'
var reg = /\w+/
str.match(reg) // ["a"]
n* 代表匹配多個(gè)或0個(gè)符合n的字符
-
和+的區(qū)別是须喂,匹配出來的結(jié)果比+多了一個(gè)空字符串
var str = "abc"
var reg = /\w*/
str.match(reg) // ["abc"]
var str = "abc"
var reg = /\w*/g
str.match(reg) // ["abc", ""]
var str = "abc+-"
var reg = /\w*/g
str.match(reg) // ["abc", "", "", ""] // 第一個(gè)"" 為匹配+的結(jié)果吁断,第二個(gè)""為匹配-的結(jié)果,第三個(gè)""為匹配的最后一位
n? 代表匹配1個(gè)或0個(gè)符合n的字符
"ab".match(/\w?/g) // ["a", "b", ""]
{x,y} 代表區(qū)間坞生,從x到y(tǒng)個(gè)
- x需小于y
- 如果不寫y仔役,{x,}代表x到正無窮
- 如果不寫, {x}代表個(gè)數(shù)為x個(gè)
"abc".match(/\w{1,2}/g) // ["ab", "c"]
^n代表匹配以n開頭的字符
// 匹配出以字母開頭后面是數(shù)字的字符
"a1bc".match(/^\w\d/g) // [ "a1" ]
n$代表匹配以n結(jié)尾的字符
// 匹配出以字母結(jié)尾前面是數(shù)字的字符
"a1a1c".match(/\d\w$/g) // [ "1c" ]
x(?=y) 代表匹配x后面是y的字符,最終將x匹配出來
- x(?!y)代表匹配x后面不是y的字符是己,最終將x匹配出來
"ab234ab".match(/a(?=b)/g) // ["a", "a"]
總結(jié)
- n{1,} === n+
- n{0,} === n*
- n{0,1} === n?
parctice
"ab564DFab".match(/^ab[\w\W]*ab$/g) // ["ab564DFab"]
"ab564DFab".match(/^ab.*ab$/g) // ["ab564DFab"]
"4ab564DFab".match(/(^ab.*)|(.*ab$)/g) // ["4ab564DFab"]
/^138\d{8}$/.test("13812345678") //true
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者