正则表达式基础知识

基础语法

1.创建一个正则表达式
第一种方法——直接量(推荐):var reg = /test/;

第二种方法——new RegExp();:var reg = new RegExp(‘test’);
2.正则表达式的修饰符
•g (全文查找) 形式:/test/g
•i (忽略大小写) 形式:/test/i
•m (多行查找) 形式:/test/m
m修饰符的作用是修改^和$在正则表达式中的作用,让它们分别表示行首和行尾

3.正则表达式方括号(范围类匹配)

[0-9] ——匹配单个数字。
[a-z] ——匹配小写字母。
[A-Z] ——匹配大写字母。
[a-zA-Z]/[A-z] ——匹配所有大小写字母。

字符集合[abc]和反字符集合[^abc]

字符集合[abc]表示匹配a或者b或者c中的任意一个字符。

反字符集合[^abc]
^在方括号中表示的是类似“非“的意思,例如 [^abc] 就表示不能是a,b或者c中的任何一个

4.边界
①:开头和结尾——.^开头,结尾$
^n ——匹配任何开头为 n 的字符串。

例:reg = /^a/; 匹配以a为开头的字符串。

n$——匹配任何开头为 n 的字符串。

例:reg = /a$/;匹配以a为结尾的字符串。

②:单词边界与非单词边界
\b表示的边界的意思,也就是说,只有字符串的开头和结尾才算数。
例:reg = /\bc/; 表示匹配到的c要是字符串开始的c或者是结尾的c。
\B表示非边界的意思
例:reg = /\Bc/;表示匹配到的c要是字符串要是非边界的c,也就是非上面两种的c。

5.预定义类

①:预定义特殊字符

\t 水平制表符
\r 回车符
\n 换行符
\f 换页符
\cX 与X对应的控制字符(Ctrl+X)
\v 垂直制表符
\0 空字符

②:“.”字符
‘.’会匹配字符串中除了回车符和换行符\n之外的所有字符

③:单词字符和非单词字符
\w表示单词字符,等同于字符集合[a-zA-Z0-9_],也就是字母,数字和下划线。
\W表示非单词字符,等同于[^a-zA-Z0-9_]

④:数字字符与非数字字符
\d表示数字的意思,等同于[0-9];
\D表示非数字,等同于[^0-9]。

⑤:空白符和非空白符

\s表示空白符,等同于[ \t\n\x0B\f\r]。
【\f匹配换页符,\n匹配换行符,\r匹配回车,\t匹配制表符,\v匹配垂直制表符都是空白符的一种】
\S表示非空格字符,等同于[^ \t\n\x0B\f\r]

7.量词
①:a{n}
{1}表示一个的意思。
/a{1}/只能匹配一个a。
/a{2}/则会匹配两个连续的a。
以此类推

②:a{m,n}
a{2,4}的意思是,匹配连续的2个a或者4个a。

③:a{n,}
a{1,}表示1个以上的a。
a{2,}表示2个以上的a。
以此类推
c{n,}表示最少n个c,最多则不限个数。
④:* ,+,?
‘ * ’表示0次或者多次,等同于{0,}。
‘+’表示一次或者多次,等同于{1,}。
‘?’表示0次或者1次,等同于{0,1}。

贪婪与非贪婪模式
人都是贪婪的,正则也是如此。因此能匹配四个的时候,正则绝对不会去匹配三个。
只要在合法的情况下,它们会尽量多去匹配字符,这就叫做贪婪模式。
如果我们希望正则尽量少地匹配字符,那么就可以在表示数字的符号后面加上一个?。组成如下的形式:
{n,}?, *?, +?, ??, {m,n}?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值