正则表达式——基础总结

正则表达式——基础

1.正则表达式怎么运作

定义或描述一个字符串匹配的模式(pattern),并以此模式来匹配其他字符串中符合条件的子串。

2.正则匹配的语法规则

Ⅰ.字符匹配

  1. string匹配固定的普通字符串

    直接保留字符串原样即可:

    'abc'来匹配'abc'

  2. |表示用**“或”**来连接两个正则表达式

    ab|cd,用来匹配abcd

  3. [...]匹配一个字符组中的任意字符

    [abc]来匹配abc

    [^...]则相反,匹配字符组以外的任意字符,如[^abc]匹配1_d等[abc]以外的字符。

  4. \b匹配单词的边界(左边界或右边界)

    na\b可以匹配chinananationna,但不能匹配dianat中的na

    \B则相反,匹配不作为单词边界的字符,如in\B匹配china中的in

  5. \d匹配数字

    \d来匹配0-9之间的任何数字,等价于[0-9]

    \D则相反,匹配数字以外的任意字符。

  6. \w匹配字母、数字和下划线

    \w来匹配字母、数字和下划线,等价于[A-Za-z0-9_]

    \W则相反,匹配字母、数字及下划线以外的任意字符。

  7. \s匹配任何空白字符(不可见字符)

    \S则相反,匹配可见字符。

  8. .匹配换行符以外的所有字符

    即:使用(.|\n)即可匹配所有字符。

  9. ^匹配字符串的开头

    ^ch匹配chinach,而不匹配branchch

  10. $匹配字符串的结尾

    ch$匹配branchch,而不匹配chinach

  11. 使用\来转义特殊字符

    ①如使用\n来匹配换行符、\t匹配制表符,\\匹配\

    ②此外,[]内的特殊字符将失去意义,只表示它的字符本身,如[.]不再能匹配换行符以外的所有字符,而是匹配.字符本身。

Ⅱ.量词

  1. 量词(也叫限定符)

    字符作用备注
    *重复 零次 或 更多次相当于{0,}:任意个
    +重复 一次 或 更多次相当于{1,}:至少一个
    ?重复 零次 或 一次相当于{0,1}:最多一个
    {n}重复 n次
    {n, }重复 n次 或 更多次
    {n, m}重复 n次 到 m次

    (ab){3}来匹配ababab

    (cd){1,2}来匹配cdcdcd

  2. 两种重要的特殊匹配(借助量词的组合构成)

    字符作用
    .*贪婪匹配(以尽可能长的长度来匹配满足条件的子串)
    .*?惰性匹配(以尽可能短的长度来匹配满足条件的子串)

    接下来对比两者,假设待匹配的字符串为:
    "I am a sentence who knows itself a sentence"

    贪婪匹配(I.*sentence),返回:I am a sentence who knows itself a sentence;(匹配到了最后一个sentence

    惰性匹配(I.*?sentence),返回:I am a sentence。(只匹配到第一个sentence

Ⅲ.修饰符

在正则表达式之外书写修饰符(将正则表达式写在//之中)

/ABCdef/i:表示在匹配ABCdef时忽略大小写

常见的修饰符:

名称意义描述
iignore-忽略大小写匹配时忽略大小写
gglobal-全局匹配匹配字符串中的所有符合的子串
mmulti line-多行匹配当使用了^$后,使用m修饰符开启多行匹配模式可以让^$去匹配每一行的开头或结尾;否则^$只会去匹配整个字符串的开头或结尾
s/.现在能够匹配换行符\n
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Neonline

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值