zoukankan      html  css  js  c++  java
  • 正则表达式 | 使用零宽断言去除不想捕获的文本

    (?:.(?<!d))+?(?=s+d+)

    使用该表达式去除目录页数,捕获文本内容

    [^ 0-9]+?(?=s+d+)

    或使用该表达式可去除换行和目录页数,捕获文本内容

    (?<=">).+?(?=</p>)

    使用该表达式提取百度文库网页文件中文本内容

    有关零宽断言

    代码 说明 举例
    (?=exp) 匹配exp前面的位置 w+(?=ing) 后面是ing
    (?<=exp) 匹配exp后面的位置 (?<=re)w+ 前面是re
    (?!exp) 匹配后面跟的不是exp的位置 w+?(?!d) 后面不含数字的文本
    (?<!exp) 匹配前面是跟的不是exp的位置 (?<!d)w+? 前面不含数字的文本

    零宽断言断言的是一个位置,像((?!abc)w)+这样的表达式,意思是匹配不包含连续字符串abc的文本。

    附上自己学习正则的文章原文链接 https://deerchao.cn/tutorials/regex/regex.htm

    未经授权商用禁止,转载请标明出处,附上原文链接 个人能力有限,若有不足之处欢迎各位大佬指出
  • 相关阅读:
    053467
    053466
    053465
    NC201613 Jelly
    NC14608 after与迷宫
    NC14572 走出迷宫
    340. 通信线路
    1135. 新年好
    903. 昂贵的聘礼
    P5767 [NOI1997]最优乘车
  • 原文地址:https://www.cnblogs.com/pong137/p/13153047.html
Copyright © 2011-2022 走看看