(?:.(?<!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