正则表达式 | 使用零宽断言去除不想捕获的文本
(?:.(?<!\d))+?(?=\s+\d+)
使用该表达式去除目录页数,捕获文本内容
[^\r\n0-9]+?(?=\s+\d+)
或使用该表达式可去除换行和目录页数,捕获文本内容
(?<=">).+?(?=</p>)
使用该表达式提取百度文库网页文件中文本内容
有关零宽断言
代码 | 说明 | 举例 |
(?=exp) | 匹配exp前面的位置 | \w+(?=ing) 后面是ing |
(?<=exp) | 匹配exp后面的位置 | (?<=re)\w+ 前面是re |
(?!exp) | 匹配后面跟的不是exp的位置 | \w+?(?!\d) 后面不含数字的文本 |
(?<!exp) | 匹配前面是跟的不是exp的位置 | (?<!\d)\w+? 前面不含数字的文本 |
零宽断言断言的是一个位置,像\b((?!abc)\w)+\b这样的表达式,意思是匹配不包含连续字符串abc的文本。
附上自己学习正则的文章原文链接 https://deerchao.cn/tutorials/regex/regex.htm
本文来自博客园,作者:康舒服冰红茶,转载请注明原文链接:https://www.cnblogs.com/pong137/p/13153047.html
欢迎转载,但请注明「作者」和「原文地址」。转载请在文中保留此段,感谢您对作者版权的尊重。如需商业转载或刊登,请联系作者获得授权。