1.基礎(chǔ)字元
/\s/ 表達(dá)式中需要有一個空格
/\S/ 需要有一個非空格
/\t/需要有一個tap
/\d/需要有一個數(shù)字
/\D/要有一個非數(shù)字
/\w/需要有一個_或者字母或數(shù)字
/\W/其余以外任意一個
/./不是換行都行? /\./則必須有個點(diǎn)
/\\/表示必須有一個\文本在字符串里\也是轉(zhuǎn)義腥光。不用\\語法就不對
\轉(zhuǎn)義符扩劝。有意義與無意義相轉(zhuǎn)換
2.邊界元字符
(1.^符
/^\d/ 以數(shù)字開頭就行
(2.$符
/\d$/以數(shù)字結(jié)尾
(3.^ $
/^\d$/從頭到尾只能有1個數(shù)字贸呢,不能有別的
3.限定元字符(只修飾一個符號)
1)*
/\d*/ 表示前面的字符出現(xiàn)0次到多次,有就可以
2)+
表示前面的字符出現(xiàn)1次到多次
3)?
表示字符串只能是0或1次
4){n}
表示指定出現(xiàn)n次? /\d{3}/出現(xiàn)3次數(shù)字
5){n,}
表示字符串只能出現(xiàn)n個到多個
6){n铃绒,m}
n到m次
4.正則的貪婪與非貪婪(重點(diǎn))
例子:
貪婪
1)reg=/\d+/
console.log(reg.exec('abc123456789sd'))
Array=123456789
非貪婪:(在限定符錢加碉京?)
+僵芹?非貪婪+
reg=/\d+?/
console.log(reg.exec('abc123456789sd'))
Array=1
2)*與*瀑志?
reg=/\d*/
console.log(reg.exec('abc123456789sd'))
Array=" ";因?yàn)閍bc不是數(shù)字
console.log(reg.exec('123456789sd'))
Array="123456789 "
reg=/\d*?/
console.log(reg.exec('123456789sd'))
Array=" ",因?yàn)榕袛嗍前沧钌賮砭褪?個
3){n,}?? 安最少n個補(bǔ)。不帶脖阵?安多個補(bǔ)
5.其他符號
(1.()把幾個字符看成一個
(2./\d+(\s+)\d+/ 會產(chǎn)生單獨(dú)捕獲皂股。
console.log(reg.exec('123??? 123'))
返回值:[0:'123??? 123',1:'?? ']
reg=/(\d+(\s+))\d+/
返回值:[0:'123??? 123',1:'123 ? ',2:'?? ']
(3.?? (?:)帶?: 就只是整體不捕獲
(4.|(站位或)一般和()連用 ? ||邏輯或
(adc|dfe) **分開的是右邊或左邊全部
adc或dfe就可以
(5.[]占一個位子
reg=/[abcd]/ 表示或者有a? b c d就可以
[^]非里面任意一個都可以
[a-z]、[0-9]必須是連著的
[0-9a-zA-Z_]==\w
[.]就是. 不是非換行的任意字符
6.Pyhon
urllib與 re庫與numpy
re.findall()
找URL命黔,語法大致相同呜呐。只不過是輸出匹配的字段