如何使用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:/ 表示 ...
随机推荐
- 【HDU】3401:Trade【单调队列优化DP】
Trade Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- Shell 学习笔记之函数
hello_fun(){ echo "hello world" echo "$1" # 第一个参数,其中第0个参数为文件本身 } hello_fun 1 在函数 ...
- leetcode659. Split Array into Consecutive Subsequences
leetcode659. Split Array into Consecutive Subsequences 题意: 您将获得按升序排列的整数数组(可能包含重复项),您需要将它们拆分成多个子序列,其中 ...
- INFORMATION_SCHEMA.COLUMNS-表的字段信息
当前数据库中当前用户可以访问的每一个列在该视图中占一行.INFORMATION_SCHEMA.COLUMNS 视图以 sysobjects.spt_data type_info.systypes.sy ...
- List常用子类的特点
ArrayList: 底层数据结构是数组,查询快,增删慢 线程不安全, 效率较高 Vector 底层数据结构是数组,查询快,增删慢 线程安全, 效率较低 LinkedList 底 ...
- MySQLAdmin的用法
mysqladmin 适合于linux和windows系统 linux下:mysqladmin -u[username] -p[password] status windows下:先在安装目录找到my ...
- 在Hadoop中重写FileInputFormat类以处理二进制格式存储的整数
近期開始使用MapReduce,发现网上大部分样例都是对文本数据进行处理的,也就是说在读取输入数据时直接使用默认的TextInputFormat进行处理就可以.对于文本数据处理,这个类还是能满足一部分 ...
- GlobalGetAtomName GlobalDeleteAtom 引用 WinAPI: AddAtom、DeleteAtom、FindAtom、GetAtomName、GlobalAddAtom、GlobalDeleteAtom、GlobalFindAtom、GlobalGetAtomName
http://www.cnblogs.com/del/archive/2008/02/28/1085124.html 这是储存字符串的一组 API.通过 AddAtom 储存一个字符串, 返回一个 I ...
- xcode4.3.2 arc模式下导入非arc的文件 转
在arc模式下,我们经常会用到非arc的类库,此时我们可以在Compile Sources下对该文件进行编辑加入 -fno-objc-arc 如图中所示,就可以使用非arc的类库了 转:htt ...
- R语言缺点
R的优点:免费,开源,体积小.缺点:对大文本处理差,另外一个也在于开源,package如果出错,烦死你.当你跑比较大的simulation,对效率有要求的时候,有时还是不得不用C,这可能是10小时和1 ...