• 全网最易懂的正则表达式教程(5)- 断言


    正则详细教程系列可以看此链接的文章哦

    https://www.cnblogs.com/poloyy/category/1796055.html

    特殊单字符

    元字符说明
     匹配单词的开始或结束
    B 和  相反
    ^ 匹配字符串(行)的开始
    $ 匹配字符串(行)的结束

     的栗子

    first

    匹配文本 poloyy
    正则表达式 poloyy
    匹配数量 1
    匹配结果 poloyy

    second

    匹配文本 poloyy
    正则表达式 po
    匹配数量 1
    匹配结果 po

    third

    匹配文本 poloyy1
    正则表达式 po....d
    匹配数量 1
    匹配结果 poloyy1

    four

    匹配文本 y1菠萝_A
    正则表达式 w.
    匹配数量 2
    匹配结果 y1、_A

    总结

    •  其实并不匹配任何字符,它只匹配一个位置(开头,结尾)
    • 相当于单词的开头或结尾,有点类似 ^  、 $ 
    • 单词:连起来的字母、数字、下划线,但不包括汉字(如 four 的栗子 ),一般可以用元字符 w+ 来表示

    再来看看一个拓展的栗子

    重点:在精确匹配某个单词时,我们使用 w+ 就可以实现了

    行的开始或结束

    和单词的边界类似,在正则中还有文本每行的开始和结束,如果要求匹配的内容要出现在一行文本开头或结尾,就可以使用 ^ 和 $ 来进行位置界定

    怎么才算一行?

    在结尾处有换行符

    要注意:在计算机中,回车   和换行   其实是两个概念,并且在不同的平台系统上,换行符的表示也是不一样的

    不同系统的换行符

    系统换行符
    Windows
    Linux
    macOS

    ^ 的栗子

    first

    匹配文本 菠萝_A
    正则表达式 ^菠.
    匹配数量 1
    匹配结果 菠萝

    second

    匹配文本 _123
    正则表达式 ^_d
    匹配数量 1
    匹配结果 _1

    总结

    和   不一样, ^ 是匹配行开始的任意字符,可以包括汉字

    $ 的栗子

    first

    匹配文本 菠2萝_
    正则表达式 d._$
    匹配数量 1
    匹配结果 2萝_

    second

    匹配文本 123菠萝
    正则表达式  wdd菠萝$ 
    匹配数量 1
    匹配结果 123菠萝

    总结

    和  不一样, $ 是匹配行结尾的任意字符,可以包括汉字

     
  • 相关阅读:
    UML类图
    SCIM 输入法
    linux shell 快捷键
    linux find
    Extern "C"
    C++4个基本函数
    运算符号重载:前置与后置单目运算++
    Oracle数据库的安全策略
    help on IlegalStateException 关于 HttpServletRequest.getParameterMap()
    再谈时间函数
  • 原文地址:https://www.cnblogs.com/poloyy/p/13212191.html
Copyright © 2020-2023  润新知