【计算机中的正则表达式】

【关于正则表达式中限定符的解释】

最近看了很多博客网站上的正则表达式文章,包括一些限定符的解释,要么内容都是简简单单举例说明,拿了几个数来写一下,执行成功或失败,要么就是写的很复杂,可读性不强,以下内容是按照笔者本人对限定符的理解来写的,欢迎大家讨论说明

正则表达式:又称规则表达式,这是计算机科学的一个概念,不独立属于某一种语言,计算机语言都有
作用:常用来检索或替换某些符合规则的文本

什么叫做元字符

在了解限定符之前,首先我们需要对元字符做一定的了解,笔者为大家收录了以下的元字符以及相应的解释:

# 1.一个.表示匹配所有字符(这个点具有这样的特殊含义),当我们需要匹配一个点怎么办?加上\取消特殊含义
# 2.正常按本身匹配1匹配1,a匹配a,123匹配123,空格匹配空格
# 3.\d匹配所有数字
# 4.\D匹配所有非数字
# 5.\s匹配空格、制表、换行
# 6.\S匹配非空格、制表、换行
# 7.\w匹配所有英文数字下划线
# 8.\W匹配所有非英文数字下划线
# 9.\b\匹配的是单词边界(就是单词与符号之间的界限)
    # 这里的单词可以是中文字符,英文字符,数字;符号可以是中文符号,英文符号,空格,制表符,换行
    # \b表示的是边界,比如\bAB\b匹配AB,ABc,\b就表示左右两个边界,一定是通过分隔符分开的,
        # 也就是要么是开始或结尾要么就是分隔符
    # \b不常用来匹配,常用来获取文本
# 10.\B表示匹配非单词边界
    # \BAB\B匹配CABCAB--两个
# 11.^表示限定开头:比如^hello匹配hellohellohello只能匹配一个
# 12.$表示限定结尾:比如o$--匹配hellohellohello,也只能匹配一个o
# [ - ]表示匹配一个范围的值
    # [3-9]表示匹配3-9包括3和9的所有数,可以不连续
    # [A-Z]表示匹配A-Z的字符,中括号中排序按照ASCII中的顺序
    # [3-9A-Z]或[3-9A-Za-z]表示同时匹配
    # [3~9]表示匹配3,9,~
    # [^3-9]表示匹配非3-9外的所有
# 13.|表示和
    # (a|b)123--匹配a123和b123
    # a|b123--匹配a和b123
# 14.多个点表示匹配多个值
    # ....匹配abcdefg---abcd

元字符的作用:通过特殊规则匹配对应的元素,或者获取对应的元素值

限定符

通过特殊字符的规则,对元字符所作匹配内容做限制
1.?–?表示匹配0次或1次
这里的0次或1次并不是指具体匹配的次数,而是针对贪婪模式下,最后一个贪婪位和前面的内容。贪婪位可以匹配或不匹配,??表示取消贪婪模式
2.+表示匹配1次或者1+次–这里就是指具体的次数了
3.表示匹配0次或者无数次
a
可以匹配aaaaaaaa所有的a,通过?取消贪婪变成0次
(ab)* 可以匹配ab、abababab,取消贪婪之后变成了0次
4.{9}表示匹配9次
5.{9,}表示匹配9+次
6.{9,11}表示匹配9-11次

# 我把离?最近的字符称之为贪婪位,两个??取消贪婪模式
        # 1.ab?匹配edcacabcab--匹配出来是a和ab、ab
        # 2.a?匹配到纯a
        # 3.a??匹配不到任何,将a当作贪婪位取消掉了
        # 4.abc?匹配出来应该可以匹配上ab,abc
        # 5.abc??匹配到ab
        # [A-Z][3-9]?与[A-Z][3-9]??呢

# 2.+表示匹配1次或者1+次--这里就是指具体的次数了
    # a去匹配aaaaaa只能匹配上一个a
    # a+去匹配aaaaaabbaa可以匹配上所有的a
  • 23
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 20
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值