PowerGREP汉化版是一款功能强大的正则表达式应用软件,这款软件不仅具备检索功能,还具备数据编辑、替换以及数据采集等功能。其中,检索功能可用于词汇搭配研究、类联接研究;数据编辑、替换与采集功能可用于语料库的加工与处理。
基本功能:
1.1 信息检索
信息检索是语料库研究中最常见的手段之一。利用PowerGREP进行检索,其检索方法主要为文本检索和正则表达式检索,前者比较直观、易学,但功能比较单一,可用于一些简单的检索;而后者的掌握需要一定时间的学习,但功能强大,可用于大型的检索。
选择主界面(图1)中的动作标签(Action),在定义操作类型(Action type)栏的下拉菜单中选择显示搜索匹配(Display search matches),并在定义搜索类型(Search type)栏的下拉菜单中选择普通文本(Literal text)或正则表达式。搜索类型默认为正则表达式,如果搜索词为普通检索词,软件会自动识别。不同的操作类型与文本类型的确定会显示不同的选项供人们选择,如区别大小写(Case sensitivity search)、大小写自适应(Adapt case of replacement text)等。在搜索框中输入检索词或正则表达式,点击搜索即可完成检索。
2.2 编辑与替换
在进行语料分析时,研究者们有时需要对语料库中的语料或标注重新进行加工,如删除、替换或添加标注等。我们可以使用PowerGREP的编辑与替换功能来批量完成这些任务。只要在定义操作类型栏的下拉菜单中选择搜索与替换(Search and replace),并在定义搜索类型栏的下拉菜单中选择普通文本或正则表达式,然后在搜索框与替换框上分别输入被替换词与替换词,点击替换按钮即可完成文本信息的替换。其编辑功能主要通过内置的编辑器(Editor)实现,用法类似于Windows系统自带的记事本,这里不再介绍。
2.3 数据采集
采集功能是PowerGREP的又一特色,它的用途是将所有匹配检索词所在的句子保存为一个或多个文件,方便研究者根据自己的研究目的或需求对语料进行重新赋码。在定义操作类型栏的下拉菜单中选择采集数据(Collect data),并在定义搜索类型栏的下拉菜单中选择普通文本或正则表达式。然后,在文件区域(File sectioning)的下拉菜单中选择逐行(Line by line),并勾选采集或替换所有匹配区域(Collect/Replace whole sections),这么做的目的是保证采集结束后所有的匹配结果将以逐行的形式提取并可保存为一个文件。接着,设置保存的文件名、文件类型与路径。最后在检索框输入检索词并点击采集(Collect),完成数据的采集工作。
2 正则表达式简述
所谓正则表达式,就是用某种模式去匹配一类字符串的公式。它由一些普通字符和11个元字符(metacharacters)组成。普通字符包括大小写的字母和数字,而元字符则具有特殊的含义。例如,汉语“灰色”在英语中可以写为gray或grey。如果我们用一般文本检索的话,需要将gray和grey分两次填入搜索框并进行两次检索。但如果使用正则表达式,我们只需选择搜索类型为正则表达式,然后在搜索框中一次输入gr[ae]y就可以了。其中的方括号就是一个正则表达式,表示匹配方括号中a和e任意一个字符。我们于表1中列出了所有11个元字符,并逐一进行解释。
在语料库语言学研究中,我们需要掌握一些基本的字符组合,即元字符和普通字符的组合。\d代表 [0-9],即0到9之间任意一个数字; \w代表[A-Za-z],即A到Z或a到z之间任意一个字母;\s代表“空白字符”(whitespace character),包括空格符(space)、制表符(tab)、回车符(return)或换行符(newline)。如果将这三个正则表达式中的普通字符由小写改为大写,正则表达式的含义恰恰相反。\D表示[^\d],即非0到9之间任意一个数字;\W表示[^\w] ,即非A到Z或a到z之间任意一个字符;\S表示 [^\d],即非空格符、制表符、回车符、换行符。值得注意的是,如果将这些表示否定的字符组合放在方括号内,其意义将发生变化。例如,正则表达式[\D\S] 的含义为非数字或者非空格符、制表符、回车符、换行符。换言之,它可以匹配任意一个字符,包括数字、空格符、制表符、回车符、换行符和字母。而表达式[\s\d]的含义为既非数字,也非空格符、制表符、回车符或换行符,即该表达式匹配任意一个字母。
在进行语料库检索中,我们还必须了解一些常用字符组合。\b 匹配单词的前或后边界。例如,\bray\b只能匹配ray这个单词(见图3.5),这样做类似于文本检索中的whole words only ray,而ray\b则可以匹配以字母ray结束的单词,如gray或者ray 中的ray,但不能匹配 rayage中的ray。这个表达式非常重要,在语料库研究中我们可以用tion\b来检索以tion为后缀的所有单词,也可以使用\bpre这个表达式来检索所有以pre为前缀的单词。又如,\A表示文件的开始。此外,在语料库文本处理时还会用到三个不可显示的或非打印的特殊字符\r,\t和\n,它们分别代表回车符,制表符和换行符。
在使用正则表达式的过程中,了解以上提及的字符与字符组合,我们还要注意优先级顺序。类似于数学表达式求值,正则表达式是从左至右按优先级顺序来描述一个字符串的。下表由高到低列出了各种正则表达式操作符的优先级顺序:3 PowerGREP在语料库加工中的应用
语料库一般分为标注语料库与非标注语料库或生语料库。语料库语言学研究中非常重要的一环就是对语料库中的标注进行添加、删除或修改。语料库标注不仅包括词性标注,还包括句法标注、语义标注、话语标注和语用标注等(Meyer 2004)。但,现有的语料库标注主要为词性标注,而由于其他形式的标注自动化赋码比较难以实现(Hunston 2002),一般采取人工标注,并仅限于一些小型语料库(注:如句法标注语料库PoW(the Polytechnic of Walescorpus of children’s spoken language)。)。因此,根据不同的研究需求,大多时候语料库研究者需要对现有的语料库进行加工与处理。目前能够用于语料库赋码处理的软件为数不多(如Microsoft Office Word和UltraEdit-32等),PowerGrep则是其中的一名佼佼者。本文重点举例说明PowerGrep对BNC语料库标注进行删除、添加和修改的应用。
3.1 删除语料标注
假设我们要调查中国大学生记叙文中单词so的使用情况,选用《中国学生英语口笔语语料库》(SWECCL)和《英国国家语料库》(BNC)进行对比研究(严华,2006)。本研究需要按照so的话语功能分类进行标注,而后者的语料已进行过词性赋码,因此,我们需要先删除其原始词性标注。
在正式删除词性标注前,我们有必要了解一下BNC的标注特征。BNC的标注一般放在一对尖括号内,具体的标注说明可以参照BNC2 POS-Tagging Guide(Leech & Smith 2000)和Users Reference Guide British National Corpus(Burnard 1995),这里仅补充他们没有提及但我们必须熟悉和了解的一些标注:① BNC的文件头标注既包括尖括号内容,也包括普通文本,只有将之删除才能确保研究者进行词数统计的精确性;② 标注中的s代表句子(sentence),n=“1”代表第一行;③ 尖括号内的所有单词的词性标注都是以字母w开始的,其中,w代表单词word;④ 标点符号除双引号外均以字母c开始;⑤ &bquo;代表直接引语开始时的双引号,&equo;代表直接引语结束时的双引号。鉴于以上BNC的词性标注特征,我们将删除工作分为四步。
(1) 删除文件头
用PowerGREP自带的编辑器(Editor)打开选取的文件。BNC中标志正式文本语料开始的第一行,此前是对该文本的说明,即文件头。因此,我们在文本中定位到,然后删除之前的文件头部分。
(2) 替换&bquo;与&equo;为双引号。
首先在定义操作类型(Action type)栏的下拉菜单中选择搜索与替换(Search and replace),并在搜索类型(Search type)栏的下拉菜单中选择正则表达式(Regular expression)。然后,在搜索栏中输入&bquo;替换栏中输入双引号,点击替换按钮(Replace),将&bquo;替换成双引号。接着,我们采取同样的方法将&equo;也替换成双引号。
(3) 替换等行号为空格。
在搜索栏输入正则表达式,将光标插入替换栏,敲击两下空格键,这样做的目的是为了保持原文的格式,即首行缩进两个字符。接着,点击替换按钮(Replace),完成语料中以s开头的行号标注的删除工作(见图2)。
(4) 删除其余所有标注。
在搜索栏中输入正则表达式,替换栏留空,然后点击替换按钮(Replace),完成其余他所有标注的删除。我们用编辑器(Editor)查看最终的编辑效果。如图3所示,一个干净可读的文本展示在我们面前,将之直接保存即可。
3.2 添加语料标注
删除了BNC语料中的标注之后,接下来我们就可以按单词so的话语功能对中国学习者语料和BNC语料重新进行标注。我们需要先采集所有包含单词so的句子,然后利用PowerGREP的编辑器功能进行人工赋码。
(1) 采集
如图4所示,我们首先选择在定义操作类型(Action type)栏的下拉菜单中选择采集(Collect data),并在搜索类型(Search type)栏的下拉菜单中选择正则表达式(Regular expression)。然后,勾选Group results for all files与Group identical matches两个选项,并在搜索栏中输入检索词so的正则表达式\bso\b(注:\bso\b只能匹配单词so,这样做类似于文本检索中的whole words only。)。接着,在文件区域(File sectioning)的下拉菜单中选择逐行(Line by line),并勾选采集或替换所有匹配区域(Collect/Replace whole sections),这样保证采集结束后所有的匹配结果将以逐行的形式提取并可保存为一个文件。在采集之前还需预先设置文件保存的类型和路径。因此,我们在创建目标文件(Target File Creation)中选择将结果保存为单个文件(Save results into a single file),然后在目标文件地址(Target file location)处填入保存文件名与路径,如D:\我的文挡\so.txt。最后,点击采集按钮(Collect)即可得到所有包含单词so的句子。
(2) 标注
我们用PowerGREP自带的编辑器(Editor)打开刚刚采集并保存的文档。如图5所示,每行都只有一个单词so,这样既方便了赋码操作,又节省了我们研究者的时间。限于篇幅,具体的赋码过程在此不一一叙述。BNC语料赋码结束后,我们重复以上步骤对SWECCL进行标注,这样就完成了单词so研究分析前的标注工作。
3.3 修改语料标注
PowerGREP还可用来修改语料标注。语料标注的修改大致出于两种原因:标注调整和赋码纠正。
软件评价:
内容搜索图片,
在本抓图中,我搜索了c:/My Documents/My Web Sites文件夹及其子目录下所有的html文件。我使用了一条正则表达式把搜索范围限定在HTML tag之内,使用另一条正则式在这些标记中搜索所有的email地址。
搜索和替换
一个好用的功能是可以预览结果而不是立即替换。匹配结果以黄色标出。双击匹配就能打开对应的文档并检验其内容。
点击执行后,颜色改变,表示已经实施替换。
收集信息和统计数据,
本例是“检测Apache网络日志--google search terms”的例子。本例使用的正则式在PowerGREP帮助文档中有详细讲解。
灵活的“撤消”历史记录,让你不再抓狂,
在执行替换的同时,PowerGREP已经备份了原文件。只要你没有手动删除这些备份的文件,你可以随便撤消你做过的任何操作。世界上真有后悔药的呀。
搜索PDF文档,
PDF也能使用正则式进行搜索?当然了,你没有看错。只是,要确保PDF文档中你要搜索的内容是文字而非图像。也就是说,扫描版的PDF不享受此功能的哟。
在MS word 文档中搜索,
这个功能也十分有用。我记得还有个东东叫ViEmu for Word & Outlook,可以在word和outlook中模拟vim,当然可以使用正则式搜索替换了。不过,ViEmu一来也是收费软件(在2008年5月31日之前是79美刀,之后是99美刀),我还没有找到免费版本;二来其正则式是vim风格的,只习惯Perl风格的同学可能不太习惯。在google documents里也支持正则式搜索了,具体语法、风格尚未广泛测试。
在MS Excel中搜索,
同样也是批量搜索、替换。不单单是对一个文档、一个sheet。
以16进制模式,在2进制文档中搜索,
跟二进制编辑器界面类似,多了正则式批量搜索替换功能。
在zip压缩文档中搜索,
把zip文件当作普通文件夹来搜索。很强大吧?
正则表达式序列
大多数正则式工具一次只支持一条正则式的操作。而PowerGREP可以一次执行多条正则式!使用checkbox来进行多项选择。






















大小: 8KB
大小: 89.5M
终端仿真器 SecureCRTv7.1.1.264 最新版
串口调试小助手1.3 免费版
WinHex 十六进制编辑器v20.2 SR-5 绿色中文注册版
小旋风ASP服务器安装版
16进制转换工具V1.0 中文绿色版
Adobe AIRV33.1.1.932 官方最新版
github离线安装包64位版V2.9.11官方最新版(github desktop)
mysql数据库.net开发驱动(mysql connector net )8.0.11 官方最新版
MSDN Library Visual Studio 6.0(VC、VB、VF、VJ)中文版win32开发人员必备
版本控制软件(SourceTree)v3.4.6 官方最新版
Memory Analyzer (MAT)V1.01 免费绿色版
Delphi Distillerv1.85绿色版
IBM内存检测工具(IBM Thread and Monitor Dump Analyzer for Java)V4.3.3 绿色版
.NETv3.0 可再发行组件包
一键安装JSP环境安装版
slave4j(基于eclipse插件的java代码生成器)V1.0.0 正式版
Auto DebugProfessional 5.6.5.18 中文绿色版
Understand For C++V1.4.319英文安装版