中使用正则表达式进行查找和替换

上传人:ss****gk 文档编号:234829475 上传时间:2022-01-04 格式:DOC 页数:8 大小:58KB
返回 下载 相关 举报
中使用正则表达式进行查找和替换_第1页
第1页 / 共8页
中使用正则表达式进行查找和替换_第2页
第2页 / 共8页
中使用正则表达式进行查找和替换_第3页
第3页 / 共8页
中使用正则表达式进行查找和替换_第4页
第4页 / 共8页
中使用正则表达式进行查找和替换_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《中使用正则表达式进行查找和替换》由会员分享,可在线阅读,更多相关《中使用正则表达式进行查找和替换(8页珍藏版)》请在金锄头文库上搜索。

1、术语开始前,我们先定义一对术语: 通配符指的是您可以用來代表i个或多个字符的键盘字符。例如,星号(*)通常代 表一个或多个字符,问号(?)通常代表单个字符。 对我们來说,正则表达式指的是您可以用來杳找和替换文本模式的文本字符和通配 符组合。文本字符指的是必须存在于目标文本字符串中的文本。通配符指的是口标字 符串中可能各不相同的文本。试一试!本节中的步骤介绍了如何使用正则表达式转置姓名。请记住,始终使用“查找和替换”对话 框来运行您的正则表达式。同吋请记住,如果表达式没有按预期工作,你始终可以按下CTRL + Z來撤销您的更改,然后尝试其他衣达式。转置姓名1. 启动Word,然后打开一个新的空白

2、文档。2. 复制此表格,将它粘贴到该文档中。Josh BarnhillDoris HartwigTamara JohnstonDaniel Shimshoni1. 在“开始”选项卡上的“编辑”组中,单击“替换”以打开“查找和替换”对话框。1. 如果您没有看到“使用通配符”复选框,请单击“更多”,然后选中该复选框。如 果您没有选中该复选框,Word会将通配符视作文木。2. 在“查找内容”框中键入以下字符。请确保您在两组括号之间包含了空格:* *1. 在“替换为”松中,键入以下字符。请确保您在逗号和第二个斜杠之间包含了空格: 2, 11. 选择该表格,然后单击“全部替换”。Word会转置这些姓名并

3、使用逗号分隔它们, 如下所示:Barnhill, JoshHartwig, DorisJohnston, TamaraShimshoni, Daniel此时,您可能会想知道:如果您的姓名中有部分或全部包含小间名首写字母,该怎么做? 请参阅使用正则表达式中的第一个示例以了解更多信息。正则表达式的工作原理从此处开始,请记住这条原则:文档内容决定了您绝大多数(并非全部)正则表达式的设计。 例如,在您之前使用的示例表格中,每个单元格都包含了两个单词。如果单元格包含两个单 词和一个中间名首写字母,您将使用不同的表达式。让我们由内而外检查每个表达式:在第一个表达式(* *中: 星号(*)会返回单词中的全部

4、文本。 小于和大于符号 分别标记了每个单词的开始和结束。它们确保搜索会返回单 个单词。 它们之间的括号和空格将单词拆分成不同的组:(第一个单词)(第二个单词)。 括号还指示了您希望搜索以何种顺序处理每个表达式。换而言之,该表达式说:“查找两个单词。”在笫二个表达式2, 1中: 斜杠()与数字放在一起充当占位符。(您也可以使用斜杠来査找其他通配符。请 参阅下一节以了解更多信息。) 第一个占位符后的逗号在两个被转置的姓名Z间插入正确的标点符号。换而言之,该表达式说:“写入第二个单词,添加逗号,写入第一个单词。”要查找和替换的项目的通配符可以使用通配符搜索文本。例如,可使用星号(*)通配符捜索字符串

5、(例如,使用“S*d” 将找到 “sad” 和 “started”)。使用通配符查找和替换文本1. 在“开始”选项卡上的“编辑”组中,单击“查找”旁边的箭头,然后单击“高级 查找”。1. 选中“使用通配符”复选框。如果看不到“使用通配符”复选框,请单击“更多”。1. 请执行下列操作之一:2. 若要从列表中选择通配符,请单击“特殊格式”,再单击通配符,然后在“查 找内容”框中键入任何其他文本。要了解更多信息,请参阅nJ用的通配符表。 在“查找内容”框中直接键入通配符。要了解更多信息,请参阅“可用的通 配符”表格。2. 如果要替换该项目,请单击“替换”选项卡,然后在“替换为”框中键入要用作替 换的

6、内容。3. 单击“查找下一处”、“查找全部”、“替换”或“全部替换”。若要取消正在执行的搜索,请按Esco可用的通配符注释 选中“使用通配符”复选框后,Word将只查找厂指定的内容精确匹配的文本。请注 意,“区分大小写”和“全字匹配”复选框将不可用(灰显),以表示这些选项已自 动开启。您无法关闭这些选项。 若要搜索已被定义为通配符的字符,请在该字符前面键入一个反斜杠()o例如, 键入?来查找问号。 可使用括号对通配符和文本进行分组,以指明处理顺序。例如,键 入(pre)*(ed)可以找到“预排序的”和“已阻止的”。 可使用n通配符搜索表达式,然后将其替换为经过重新排列的表达式。例如,在 “查找

7、内容”框中键入(Ashton) (Chris),并在“替换为”框中键入2 lo Word将 找到Ashton Chris并将其替换为Chris Ashton。用于查找 任一字符 任何字符串类型示例?s?t 可找到“sat”和“set”。*s*d 可找到“sad”和“started”。单词开头(in) 可找到“in”和“within”,但找不到“interesting”。wion 可找到win”和won。-r-tight可找到“right”和“sight”。范围必须是升序。t!a-mck 可找到“tock”利“tuck”,但找不到“tack”或!x-z“tick”。前一个字符或表达式的n个匹配项

8、 n丽一个字符或表达式的至少n个匹 配项fe2d可找到“feecT,但找不到fed%fe 1,d可找至fecT和竹eecf。n,I川 丨子筍或农达式的门到I n口101,3可找到“10”、“100”和“1000”。 匹配项 前:字符或表达式的一个或多个 l0t可找鲫 W。 匹配项使用正则表达式这些示例会向您展示一些在Microsoft Word中使用正则表达式的方法示例1:转置带中间名首写字母的姓名此示例使用通配符和字符代码纽合來转置包含中间名首写字母的姓名。如果您不熟悉字符代 码,请参阅“Word帮助”主题查找和替换Word 2010文件中的文木和其他数据。在操作过程中,请记住下列事实: 在

9、对表格中的姓名使川此表达式时,您必须首先将该表格转换成文本。 如果表格包含多个列,请将包含姓名的列复制到空白文档中,然后在那里将它转换 成文本。 转置姓名后,请将文本重新转换成表格。然后您可以删除原始列并使川您己更改的 数据替换它。准备示例数据1. 如果您还没完成这一步,请启动Word并创建一个新的空口文档。2. 将空白表格插入到该文档中。将表格设为宽一列高四行。3. 逐个复制这些姓名,并将每个姓名粘贴到空口表格单元格中:Joshua Quentin BarnhillDoris X. HartwigTamara Y. JohnstonDaniel Shimshoni您的表格应如下所示:Josh

10、ua Quentin BarnhillDoris X. HartwigTamara Y. JohnstonDaniel Shimshoni1. 选择该表格,然后在“表格工具布局”选项卡上的“数据”组中,单击“转换成文 本”。2. 选择“段落标记”作为文本分隔符,然后单击“确定”。转置带首写字母的姓名1. 在“开始”选项卡上的“编辑”组中,单击“替换”以打开“查找和替换”对话框。2. 选中“使用通配符”复选框(您对能需耍单击“更多”以查看该复选框),然后在 “查找内容”椎中键入以下表达式:(*) (! 厂13请确保在两组括号Z间和感叹号Z后输入空格。如果您Z前没冇看到13字符,我们会在 下一节介

11、绍它的作用。1.在“替换为”框中,键入以下表达式:2, rP1.选择姓名列表,然后单击“全部替换”。Word会转置这些姓名以及中间名首写字母或中间名,如下所示:Barnhil1, Joshua QuentinHartwig, Doris X.Johnston, Tamara Y.Shimshoni, Daniel将已更改的文本重新转换为表格1. 请选择已转置的姓名列表。2. 在“插入”选项卡上的“表格”组中,单击“表格”,然后单击“将文本转换成表 格”。会打开“将文本转换成表格”对话椎。1.在“文字分隔位置”下,单击“段落”,然后单击“确定”。逐个查看表达式让我们从“查找内容”框中的表达式开始

12、,逐个查看这些表达式,从而了解它们是如何工作 的。整个表达式会查找两组模式:一个带有中间名首写字母(或中间名)的名和一个姓。(*)会 杏找全部名。请注意,它示面有一个空格。表达式的此部分与姓相匹配:(! 厂13感叹号会排除括号中指定的任何字符。在此案例中,!代表“查找除空格外的全部信息”。 它的作用是从姓前面剪裁掉空格。字符会查找前一个字符的一个或多个匹配项,因此,它的作川是确保删除姓前面的全部空 格。我们需要知道姓的结尾处,因此我们还使用13字符來搜索每一行结尾处的段落标记。但 是,由于我们不准备重新使用该段落标记,所以我们会用括号将所有其他的内容括起来。 您可以通过以下步骤來尝试这一操作:

13、将姓名再次复制到您的测试文档中(请确保使用段落 标记分隔它们),然后使用(! 厂13在“查找内容”框中进行搜索。搜索会与每个姓 相匹配。因为搜索会在下一行的起始处重新开始,所以我们使用星号通配符(*)來匹配此处到下一 个姓的起始处之间的全部内容。由于我们不准备在姓前而重新使用空格,我们使用括号来将它从两纟R中排除:(*) (! 厂13要点请谨慎使用3字符代码。通常,您可以巾字符代码来搜索段落标记。但是,无法在通配符搜索中使用该代码。您需要替换为使用代码13。尽管无法在通配符搜索中使 用b字符代码,您应当在通配符替换操作中使用它。这是为什么?字符包含了格式信 息,3字符则没有。此外,您完全无法将

14、样式信息分配给13字符。在替换操作中错误 使用3代码会在实质上将您的文档转换成无法设置格式的文件。“替换”表达式(2 1)会完成实际转置。在“替换为”框中,2字符让搜索首先写入第 二个模式,然后在该模式后添加逗号。P字符指定了写入笫一个模式的位置并让搜索在 该模式后写入段落标记。示例2:转置日期您可以使用此处显示的正则表达式来将欧洲格式的口期转换为美国格式的LI期。转置日期1. 复制以下tl期并粘贴到您的文档中:28th May 20032. 打开“查找和替换”对话框,然后在“查找内容”框小键入以下表达式:(0-9 1,2) (dhnrst 2) ADFJMN0S* (0-9)请确保在以F左括号和右括号Z间插入空格:2) and * (0.1. 在“替换为”框中输入以下衣达式:3 1, 4请确保在每个字符集Z间插入空格。1.单击“全部替换”。搜索会将 28th May, 2003 替换为 May 28, 2003。逐个查看表达式让我们从“查找内容”框中的表达式开始。该表达式的作用是将H期分解为四个部分,由多 组括号来表示。每个模式都包含您在全部日期(以您在示例中使用的样式卩写)中査找的组 件。按从左到右的顺序: 数字范围0-9匹配第一个模式中的一位数数字。因为tl期町以由两个数字组成, 我们让搜索返回一位数或两位数的日期

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号