正则表达式学习笔记

正则表达式

正则表达式测试网站:regexr.com

基础知识

1.量词

runoo+b,可以匹配 runoob、runooob、runoooooob 等。


 + 号代表前面的字符必须至少出现一次(1次或多次)。

runoo*b,可以匹配 runob、runoob、runoooooob 等。

* 号代表字符可以不出现,也可以出现一次或者多次(0次、或1次、或多次)。

colou?r 可以匹配 color 或者 colour。

? 问号代表前面的字符最多只可以出现一次(0次、或1次)。

o{2} fo{2}d 可以匹配 food

n 是一个非负整数。匹配确定的 n 次。

o{2,} fo{2,}d 可以匹配 food foood fooood

n 是一个非负整数。至少匹配n 次。

o{2,5} fo{2,5}d 可以匹配 food foood fooood foooood

m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。

2.非打印字符

\f 换页符  

\n 换行符  

\r 回车符

\s 任何空白字符

\S 任何非空白字符

\t 制表符  

\v 垂直制表符   

3.需转义字符

例: $

$ () * + . [] ? \ ^ {} |

4.定位符

定位符使您能够将正则表达式固定到行首或行尾。它们还使您能够创建这样的正则表达式,这些正则表达式出现在一个单词内、在一个单词的开头或者一个单词的结尾。

定位符用来描述字符串或单词的边界,^ 和 $ 分别指字符串的开始与结束,\b 描述单词的前或后边界,\B 表示非单词边界。

^ :匹配输入字符串开始的位置。

$ :    匹配输入字符串结尾的位置。 

    /^[1-9][0-9]{0,1}$/: 01/false  11/true   123/false

\b : 匹配一个字边界,即字与空格间的位置。 

    /\bCha/  例:Chase /true  cd /false /头边界

    /Cha\b/  例:haCha /true  hacha/false 尾边界

\B : 非字边界匹配。

5.贪婪/非贪婪 匹配

*、+限定符都是贪婪的,因为它们会尽可能多的匹配文字,只有在它们的后面加上一个?就可以实现非贪婪或最小匹配。

var str = `<H1>Chapter 1 - 介绍正则表达式</H1>`;

贪婪:下面的表达式匹配从开始小于符号 (<) 到关闭 H1 标记的大于符号 (>) 之间的所有内容。

var reg = /<.*>/   (贪婪匹配)

str.match(reg)[0] // <H1>Chapter 1 - 介绍正则表达式</H1>

var reg1 = /<.*?>/ (非贪婪匹配)

str.match(reg1)[0] // <H1>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值