• 位置匹配


    1、单词边界

    the cat scattered his food all over the room
    
    正则表达式  cat 
    匹配结果
    cat
    cat

    用 指定单词边界,用来匹配一个单词的开始或结尾

    the cat scattered his food all over the room
    
    正则表达式   cat
    
    匹配结果 
    cat

     注意: 匹配的是一个这样的位置,这个位置位于一个能够用来构成单词的字符(字母、数字和下划线,也就是与w相匹配的字符)和一个不能用来构成单词的字符(也就是与W相匹配的字符)之间。只匹配一个位置,不匹配任何字符。cap匹配到的字符串的长度是3个字符(c、a、t)不是5个字符。

    The captain wore his cap and cape proudly as he sat listening to the recap of how his crew saved the men from a capsized vessel.
    
    正则表达式   cap
    匹配结果只有1个
    cap
    cap只匹配cap单词本身
    
    正则表达式  cap
    匹配结果有4个
    cap
    cap
    cap
    cap

    cap匹配以字符序列cap开头任何一个单词

    正则表达式  cap
    匹配结果有2个
    cap
    cap
    cap匹配以字符序列cap结束的任何一个单词
     

    2、不匹配一个单词边界

    B 不匹配一个单词边界

    Please enter the nine-digit id as it appears on your color - coded pass-key.
    正则表达式  B-B
    匹配结果  只有一个  -
    B-B匹配一个前后都不是单词边界的连字符。nine-digit、pass-key中的连字符都是前后有单词边界,所以不能与之匹配。但color - coded中的连字符可与之匹配。

    3、字符串边界

    单词边界可以用来进行与单词有关的位置匹配(单词的开头、单词的结束、整个单词等)。

    字符串边界有着类似的用途,只不过是用来进行与字符串有关的位置匹配而已(字符串的开头、字符串的结束、整个字符串等)

    用来定义字符串边界的元字符有两个:一个定义字符串开头的^  ,另一个是定义字符串结尾的$。

    ^是有多种用处的元字符,只有当它出现在一个字符集合里([^0-9]表示非数字),发挥一个“求非”的作用

    如果不在字符集合里则匹配字符串的开头。

    <?xml version="1.0" encoding="UTF-8" ?>
    <wsdl:definitions targetNamespace="http://tips.cf"
    xmlms:impl="http://tips.cf" xmlns:intf="http://tips.cf" />
    <?xml version="1.0" encoding="UTF-8" ?>
    
    正则表达式  ^s*<?xml.*??>
    
    匹配结果
    <?xml version="1.0" encoding="UTF-8" ?>
    匹配的是xml文档,xml文档是以<?xml version="1.0" encoding="UTF-8" ?>为开头的
    ^s*<?xml.*??>中的^是匹配字符串开头位置,s*允许有零个或多个空白字符,.*是匹配零个或多个任意字符,.*?是.*懒惰型的元字符,解决.*贪婪型的行为。?是匹配?本身。

    web页面里,是以标签</html>结尾的。

    <html>
    <body>
    <h1>我的第一个标题</h1>
    <p>我的第一个段落。</p>
    </body>
    </html>
    正则表达式  </[Hh][tT][mM][lL]>s*$
    
    匹配结果  </html>
  • 相关阅读:
    佛学的经典 —— 《妙色王求法偈》
    dom4j的用法
    Android真机网络adb联机调试初探
    CString的部分实现剖析
    文件下载:"Content-disposition","attachment; filename=中文名>>>解决方案
    内存块重叠的判断方法
    闭包
    Twenty Newsgroups Classification任务之二seq2sparse(5)
    IE 加速插件之 Google Chrome Frame
    [Android面试题-7] 写出一个Java的Singleton类(即单例类)
  • 原文地址:https://www.cnblogs.com/ccgjava/p/7297322.html
Copyright © 2020-2023  润新知