1.基础字元
/\s/ 表达式中需要有一个空格
/\S/ 需要有一个非空格
/\t/需要有一个tap
/\d/需要有一个数字
/\D/要有一个非数字
/\w/需要有一个_或者字母或数字
/\W/其余以外任意一个
/./不是换行都行 /\./则必须有个点
/\\/表示必须有一个\文本在字符串里\也是转义。不用\\语法就不对
\转义符。有意义与无意义相转换
2.边界元字符
(1.^符
/^\d/ 以数字开头就行
(2.$符
/\d$/以数字结尾
(3.^ $
/^\d$/从头到尾只能有1个数字,不能有别的
3.限定元字符(只修饰一个符号)
1)*
/\d*/ 表示前面的字符出现0次到多次,有就可以
2)+
表示前面的字符出现1次到多次
3)?
表示字符串只能是0或1次
4){n}
表示指定出现n次 /\d{3}/出现3次数字
5){n,}
表示字符串只能出现n个到多个
6){n,m}
n到m次
4.正则的贪婪与非贪婪(重点)
例子:
贪婪
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=" ";因为abc不是数字
console.log(reg.exec('123456789sd'))
Array="123456789 "
reg=/\d*?/
console.log(reg.exec('123456789sd'))
Array=" ",因为判断是安最少来就是0个
3){n,}? 安最少n个补。不带?安多个补
5.其他符号
(1.()把几个字符看成一个
(2./\d+(\s+)\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,语法大致相同。只不过是输出匹配的字段
网友评论