如何使用Replace Pioneer批量查找和替换并提取指定字符串
1 我们查看源代码之后获得的网页文件如下图所示,一般都是href="/p-286018571.html"我们只要能提取到所有的"/p-XXXXXXXX.html"这样的东西,至于前面的http://www.docin.com则可以手动批量添加,甚至后面的.html也可以手动添加,我们只要得到一串数字就可以了。我们最终希望的是能够获取如下面的这种网址列表,最笨的办法就相当于我们一个一个点击打开,然后到IE地址栏去复制粘贴一样.当然这里我们讲如何使用软件提高效率.
http://www.docin.com/p-286018691.html
http://www.docin.com/p-286018692.html
http://www.docin.com/p-286018693.htmlhttp://www.docin.com/p-286018694.html
2 UE并没有提供查找并批量输出的功能,所以我们需要借助另外一个软件,Replace Pioneer。安装之后还是先打开文件,这里最好先做一个范例,我们只拿最典型的一部分,并保存为txt格式。
3 运行Ctrl+H,打开替换面板。在Search for pattern里面输入"[0-9]{9}",其中"[0-9]"表示只匹配数字,"{9}"表示匹配次数,这里匹配9次。正好和所有的文档的超链接相同。在Replace with pattern里面输入"$match\n",含义是匹配但是不改写,因为我们一般的查找和替换是把所有要查找的替换为一个东西,这里我们查找到了所有东西但是并不替换,只是保留。注意去掉Print unmatched units,这个选项是指输出不匹配的东西,我们不要输出不匹配的东西,所以不勾选。后面的Regular Expression表示使用正则表达式,需要勾选。然后点击Replace,In Page和Out Page表示输入页面和输出页面。
4 可以发现的确获取到了我们需要的东西。
5 但是这样做不太严谨,因为可能我们以后查找的文件里面正好有九个数字,但是并非跟在p-后面,在.html前面。所以我们还需要改进正则表达式的匹配模式。如下图所示,我们需要过滤掉下面的东西。
7 在匹配模式中加入前缀/p和后缀.html发现的确也奏效了,过滤掉了我事先放进去的干扰。(这里需要说明,这个正则表达式并非在哪里都奏效,比如刚才的UE软件,只能匹配"/p-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9].html"而不能匹配"/p-[0-9]{9}.html",每个软件的正则表达式还不一样。)
8 然后就是批量添加前缀了。其实很简单,在每个行首/p的前面加上http://www.docin.com,结果在P2页面中显示。
9 最后就是保存了,按Ctrl+S保存,我保存为test.txt文件。
10 操作真实的网页文档是否也奏效呢?从结果可以发现,的确是100个,这个和我们在一开始"每页显示一百个"是吻合的,所以应该没有多余的和漏掉的网址。举一反三,以此类推,我们去批量获取电子邮件地址,QQ号,手机号,身份证号,邮政编码,IP地址都只需要稍微改改正则表达式的规则即可.
如何使用Replace Pioneer批量查找和替换并提取指定字符串的更多相关文章
- Linux 批量查找并替换文件夹下所有文件的内容
1.批量查找某个目下文件的包含的内容 cd etc grep -rn "查找的内容" ./ 2.批量替换某个目下所有包含的文件的内容 cd etc sed -i "s/查 ...
- PyCharm中批量查找及替换
选中需要操作的字符 Ctrl + R 替换 Ctrl + Shift + F 全局查找 Ctrl + Shift + R 全局替换 源自: PyCharm中批量查找及替换 - Ella_Wu - 博客 ...
- Linux批量查找与替换
Linux批量查找并替换文件夹下所有文件的内容 经常要使用到 Linux的批量查找与替换,这里为大家介绍使用 sed 命令和 grep 命令的结合来实现查找文件中的内容并替换. 语法格式: sed - ...
- Linux 文本处理批量查找与替换
# 搜索含有特定字符串在某个目录并打印出文件名grep -rl "www.baidu.com" /data* -r, --recursive like --directories= ...
- bat批处理 查找替换:批处理如何查找并替换文本里特定字符串中的部分内容
批处理如何查找并替换文本里特定字符串中的部分内容 摘自:http://www.bathome.net/thread-43349-1-1.html 脚本如下: @if()==() echo off &a ...
- 使用 sed 命令查找和替换文件中的字符串的 16 个示例
当你在使用文本文件时,很可能需要查找和替换文件中的字符串.sed 命令主要用于替换一个文件中的文本.在 Linux 中这可以通过使用 sed 命令和 awk 命令来完成. 在本教程中,我们将告诉你使用 ...
- 使用replace pioneer批量修改文件名
shell的正则表达式还是很难记忆的,也没有沉静的心情看文档,于是使用了replace pioneer. 1. 启动replace pioneer,Tools->batch runner , ...
- Office WORD EXCEL批量查找和替换技巧实例
1 删除多余的空行 如果是在WORD中,则查找^p^p替换为^p. 如果是在EXCEL里,则为全部选中,然后点击编辑,定位,定位条件,空值. 将全部选中空白的行,如图所示 再次点击编辑,删除,删除 ...
- 结合find和cp批量查找文件并复制到指定文件夹中
find . -name JA1_*001_027 | xargs -i cp {} F:/ 说明: . 表示当前文件夹及其子文件夹中查找 -name 指定待查找文件,可以使用通配符 F:/ 表示 ...
随机推荐
- 保存全局Crash报告&发送邮件
上篇写到,将程序中没有处理到的crash信息保存到本地文件夹下.但是实际的情况是,你不可能总是将用户的设备拿过来.所以一般性的处理是,将crash reports发送到服务器或者邮箱.所以针对上篇的代 ...
- java后台接收json数据,报错com.alibaba.fastjson.JSONObject cannot be cast to xxx
从前台接收json封装的list数据,在后台接收时一直报错,com.alibaba.fastjson.JSONObject cannot be cast to xxx, 使用这种方式接收可以接收 @R ...
- Codeforces Round #356 (Div. 1) D. Bear and Chase 暴力
D. Bear and Chase 题目连接: http://codeforces.com/contest/679/problem/D Description Bearland has n citie ...
- spring---aop(3)---Spring AOP的拦截器链
写在前面 时间断断续续,这次写一点关于spring aop拦截器链的记载.至于如何获取spring的拦截器,前一篇博客已经写的很清楚(spring---aop(2)---Spring AOP的JDK动 ...
- 解决 git push Failed to connect to 127.0.0.1 port 45463: 拒绝连接
使用Github pull 代码突然报错: Failed to connect to 127.0.0.1 port 43421: Connection refused 使用 lsof 发现端口未被占用 ...
- wamp经典安装
1,根据综述 本机 注意,现在apache2.2不能和5.5php, 2.4apache和5.5php就可以 window10 64位 vc14 apache 2.4.23 注意,虚拟 ...
- 背景建模或前景检測之PBAS
申明,本文非笔者原创,原文转载自:http://blog.csdn.net/kcust/article/details/9931575 Pixel-Based Adaptive Segmenter(P ...
- Linux下open与fopen的区别
int open(const char *path, int access,int mode) path 要打开的文件路径和名称 access 访问模式,宏定义和含义如下: ...
- OPC服务器开发浅谈 — 服务器模型(转)
这里主要讨论的是OPC Data Access 2.0服务器的开发,在掌握了这个最常用的OPC服务器开发之后,对其它类型的OPC服务器,如A&E.HDA等就可以触类旁通了. 一个OPC服务器的 ...
- 模拟出ios中流行的黑色背景底
[activityIndicatorView setBackgroundColor:[UIColor colorWithRed: green: blue: alpha:0.4]]; 用上面的语法,可以 ...