如何使用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:/ 表示 ...
随机推荐
- Minimum Size Subarray Sum 最短子数组之和
题意 Given an array of n positive integers and a positive integer s, find the minimal length of a suba ...
- Topcoder SRM 643 Div1 250<peter_pan>
Topcoder SRM 643 Div1 250 Problem 给一个整数N,再给一个vector<long long>v; N可以表示成若干个素数的乘积,N=p0*p1*p2*... ...
- malloc、calloc和realloc比较
1.先看看它们的原型(stdlib.h): void *malloc( size_t size ); void *calloc( size_t numElements, size_t sizeOfEl ...
- Redis在Windows+linux平台下的安装配置(转)
window平台Redis安装 下载地址: http://code.google.com/p/servicestack/wiki/RedisWindowsDownload Redis文件夹有以下几个文 ...
- sqlite - Sqlite Wrappers - Delphi
http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers Aducom's SQLite: Open source (NewBSD) Delphi (4. ...
- AWR--service statistics
近期发现一个奇怪的现象,数据库报告上看负载非常高.可是cpu和等待事件都非常低,不知道消耗的资源跑到哪里去了? Snap Id Snap Time Sessions Cursors/Session B ...
- rocketmq技术架构图
NameServer.Broker.Producer.Consumer之间如何进行通信,如何工作: NameServer和Broker: NameServer主要做两件事情,第一就是管理Broker, ...
- FIREDAC不能识别SQL的某些字段类型
FIREDAC不能识别SQL的某些字段类型 经常见有网友有类似的提问:请问各位,在DataSnap中使用SQL数据SUM函数,如果是统计浮点型数值的话,返回是乱码,哪位是什么原因? 其实这不是DAT ...
- Appium+python自动化7-输入中文
前言 在做app自动化过程中会踩很多坑,咱们都是用的中文的app,所以首先要解决中文输入的问题! 本篇通过屏蔽软键盘,绕过手机的软键盘方法,解决中文输入问题. 一.定位搜索 1.打开淘宝点搜索按钮,进 ...
- 关于JSONP以及跨域相关
什么是跨域: 浏览器对ajax请求的限制,不允许跨域请求资源. http://www.a.com--->http://www.b.com 是跨域 http://www.a.com-- ...