选项操作
如您选中“应用正则表达式”选项框,将可在查找和替换以及以下的批量替换功能中应用行业标准正则表达式。
选用此选项后“匹配全词”与“应用特殊字符”选项将隐藏,但区分大小写选项仍保留。
隐藏“匹配全词”选项是因为标准正则表达式中已有相关开关,且功能更为精细可控。应用正则表达式时,如果您在一个单词的左右两边加“\b”开关(此开关指单词的边界),如在 word 两边同时加“\b”后,表达式变为“\bword\b”),则表示匹配 word 全词。不过您也可以根据自己的需要只在一边加,如“\bword”可以匹配“word”和“words”。还有一个相关的开关是大写的“\B”,表示非单词边界。如“word\B”可以匹配单词“words”,但不匹配“word”。
隐藏“应用特殊字符”是因为“应用特殊字符”功能是本软件的自有功能,正则表达式包含了“应用特殊字符”的所有内容,所以此选项不必再保留。
基本使用
正则表达式是一种具有相当复杂度的专业技术,但也具有极其强大的功能。对于一个未曾专门学习过正则表达式的普通人,您一般需要花半天到两整天时间才能粗通它的使用。相关内容可以写成一本 N 多页的小书才能写全,我们也不打算在此提供详细说明。后面会附一个网上的正则表达式教程及索引列表,有兴趣的用户可以自行访问学习。
我们举例说明正则表达式的使用。
以下是一些最基本、最常用的正则表达式操作符:
例 1 匹配包含有如“[StudentA02]”形式的标签的行。具体地说,左右有方括号“[”和“]”,括号内开始的字串是 Student,后面有一个大写字母和 2 个数字(01-99),这样的行如:
学生 [StudentA02] 上午上数学课。 学生 [StudentC93] 早上打扫卫生。
我们假设需要搜索的正文中全部都是有效字串,没有形如 [StudentN00](最后两位数字为 00)的无效字串,那么就可以不用考虑存在错误的可能性,简单地以以下的表达式进行搜索:
^.*?\[Student[A-Z][0-9][0-9]\].*?\n
例 2 a 匹配不含有“student”的行:
(?!.*student)^.*$
以上表达式用到的语法是“(?!exp)”,匹配后面跟的不是“exp”的位置。此用法在后面列出的《正则表达式 30 分钟入门教程》 中有介绍。此匹配可以认为是以下匹配的简化版:
b 匹配包含“teacher”,但不含有“student”的所有行:
(?!.*student)^.*?teacher.*?$
例 3 a 匹配内容为“Start Line”的行及往前的所有行:
\A(.*?\n){2,}Start Line\n
b 匹配从内容为“End Line”的行及往后的所有行:
^End Line(.*?\n){2,}.*?\Z
以上表达式用到的语法是“(?!exp)”,匹配后面跟的不是“exp”的位置。此用法在以下教程中提到。
例 4 a 匹配以单词“and”开头,以单词“whose”结尾,中间包含 2 个任意单词(由字母+数字组成)的行:
^.*?\band \w+ \w+ whose\b.*?\n
b 匹配以单词“and”开头,以单词“whose”结尾,中间包含 0-5 个任意单词(由字母+数字组成)的行。如果中间的单词数为 0,即指含“and whose”的行:
^.*?\band (\w+ ){0,5}whose\b.*?\n
正则表达式精选教程
请勿被以下教程标题中的“30 分钟”字样所误导。粗通正则表达式的精细使用一般需要半天到两整天的时间。至于完全精通...那时间海了去了...当然一般也无此必要。不过您可以先找您喜欢的少量主要功能使用,这样很快就能上手了。
《正则表达式 30 分钟入门教程》 很好的中文入门教程,对于正则表达式的初学者,30 分钟肯定不够,正常情况下需要半天到一天才能基本弄懂。
原网址: http://deerchao.net/tutorials/regex/regex.htm 在谷歌上查找: 在百度上查找:
《The 30 Minute Regex Tutorial》(英文版) 英文教程。
原网址: http://www.codeproject.com/KB/dotnet/regextutorial.aspx 在谷歌上查找:
《Introduction to Regular Expressions》(英文版) 英文教程,微软出的。
原网址: http://msdn.microsoft.com/en-us/library/28hw3sce 在谷歌上查找: 最重要的部分(正则表达式语法): http://msdn.microsoft.com/en-us/library/ae5bf541.aspx
本软件正则表达式引擎的模式设定
指定大小写:用户可选。 多行模式:指定采用。 单行模式:指定不采用。
不同正则表达式引擎的主干功能是一样的,但在某些偏枝细节上可能有微小的差异。本软件所用正则表达式引擎也一样,在个别偏枝功能上可能会和这些教程中写得不一样,您需要仔细研究并大量测试才能深入掌握。
当查找/替换对话框中左下角的“启用替换功能”检查框被选中时,可以使用强大的专业级编辑功能 -“批量替换”功能。
单击“批量替换”按钮,即可打开“批量替换”对话框:
图 UG-5-2 批量替换主对话框
该功能允许一次性对上或下编辑区中的文本连续进行不限次的多组替换,每组查找和替换词均可为多行文本,每组替换可单独设置是否应用、匹配全词、区分大小写和应用特定字符等选项。
每套批量替换设置均可保存为文件长期使用。批量替换功能既是强大的文本编辑功能,也可以作为简繁转换的有益补充。
在安装包中附带了三个页面清理宏,可用于规范、整理中英文文章的标点、空格及段落布局,也可用作编辑、制作批量替换宏的参考样本。 |