正则表达式和自定义替换.docx

正则表达式和自定义替换.docx

ID:51708994

大小:225.57 KB

页数:39页

时间:2020-03-15

正则表达式和自定义替换.docx_第1页
正则表达式和自定义替换.docx_第2页
正则表达式和自定义替换.docx_第3页
正则表达式和自定义替换.docx_第4页
正则表达式和自定义替换.docx_第5页
资源描述:

《正则表达式和自定义替换.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、正则表达式和自定义替换目录版权信息1.概述2.正则表达式的构成  2.1 特殊符号  2.2 通配符  2.3 字符集  2.4 子表达式  2.5 重复指示符3.替换表达式4.自定义替换表功能  4.1在查找/替换中使用自定义替换表5.应用举例(一)  5.1应用举例(二)  5.2应用举例(三)一概述从4.5版起,TextPro在查找/替换中支持正则表达式。正则表达式是一种非常强大的搜索功能,通过与TextPro的其它功能相结合,可以方便地实现许多复杂的文本处理工作。正则表达式原本是形式语言理论中的概念,与编译器的构造有密切的联系。但是作为一个应用软件的用

2、户,我们没有必要去细究正则表达式的严格定义和处理方法。本文将从实用的角度出发,阐述在39TextPro中引入正则表达式的目的、正则表达式的命令格式,以及如何利用正则表达式完成一些实际的文本处理工作。我们在处理文本时,经常会遇到一些具有某种特定格式,或者说满足某种规则的文本。比如,一个无符号的整数由一连串的数字构成,而一个Email地址的格式则是“用户名@主机名”,其中用户名是一串字母或数字,主机名则是由若干个由“.”分隔的字母数字串。正则表达式就是用来指定这种规则的。如果某个字符串满足正则表达式指定的规则,则称该字符串为正则表达式的一个“匹配串”。一正则表达式

3、的构成为了方便理解,让我们先来看看大家比较熟悉的数学表达式,“(x+3)*2+y”是一个典型的数学表达式。一个数学表达式由若干个“项”组成,“项”与“项”之间用加号或减号相连;这里“(x+3)*2”和“y”分别是两个项。每个项又由若干个“因子”组成,因子之间用乘号或除号相连;这里第一个项有两个因子“(x+3)”和“2”,而第二个项只有一个因子“y”。每个因子可以是一个简单的数,一个代数变量,也可以是放在括号里面的另一个表达式。对于最后一种情况,括号中的表达式称为“子表达式”;这里“x+3”就是一个子表达式。正则表达式的结构与数学表达式很相似。与数学表达式的“项

4、”相对应,正则表达式由若干个“分支”构成,“分支”之间用符号“

5、”相连。从逻辑上讲,分支之间是一种“或”的关系,一个字符串只要与正则表达式中的任何一个分支相匹配,这个字符串就与整个正则表达式相匹配。比如,“第三人称代词”可以用正则表达式表示为“他

6、她

7、它

8、他们

9、她们

10、它们”。与数学表达式的“因子”相对应,构成正则表达式“分支”的部件称为“原子”。“原子”与“原子”之间没有任何符号相连。从逻辑上讲,原子之间是串接的关系,一个字符串必须与各个原子依次相匹配,才算与这个分支相匹配。比如在上面的例子中,分支“他们”由两个原子“他”和“们”组成。39正则表达式的本质是它

11、的“原子”可以有多种不同的形式。前面的例子是最简单的情形,即每个原子由一个普通字符组成。除此以外,“原子”还可以是特殊符号、通配符、字符集以及子表达式。1.1特殊符号可以作为特殊符号的原子有:^匹配行首。例如,“^他”匹配出现在行首的“他”字。值得注意的是,这个符号仅仅表示“行首”这个位置,与它相匹配的字符串长度为0;$匹配行末。与“^”相似,它仅表示“行末”这个位置。例如,“。$”匹配出现在行末的句号;<匹配词首。词首的定义是紧接在非字母数字之后的第一个字母数字或下划线(_),汉字永远是词首。与“^”相似,它仅表示“词首”这个位置,匹配长度为0;>匹配词尾。

12、词尾是指紧接在字母数字或下划线之后的第一个非字母数字下划线,任一汉字之后也属于词尾。词尾的匹配长度也是0;tTAB字符;1.2通配符通配符是用一个符号(或几个符号组合)来匹配某一类满足条件的字符。可以使用通配符来查找字符是正则表达式的一大特点。TextPro支持下列通配符(注意大小写的区别):以半角为主的部分:.(句点)匹配任意半角或全角字符;a匹配任意英文字母;~a匹配除字母外的任意半角或全角字符;d匹配任意数字;~d匹配除数字外的任意半角或全角字符;39h匹配任意词首字符(字母及下划线);~h匹配除字母及下划线以外的任意字符;l匹配任意小写

13、字母;~l匹配除小写字母外的任意半角或全角字符;o匹配任意八进制数字(0-7);~o匹配除八进制数字外的任意字符;p匹配任意半角标点符号(非空格、字母、数字的可打印ASCII字符);~p匹配除半角标点以外的任意半角或全角字符;s匹配任意空白字符(半角空格、TAB);~s匹配任意非空白的半角或全角字符;u匹配任意大写字母;~u匹配除大写字母外的任意半角或全角字符;w匹配可成词的字符(字母、数字及下划线);~w匹配成词字符(字母、数字及下划线)外的任意半角或全角字符;x匹配任意十六进制数字(0-9,a-f,A-F);~x匹配除十六进制数字

14、外的任意半角或全角字符;以全角为主的部

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。