欢迎来到天天文库
浏览记录
ID:15106919
大小:40.50 KB
页数:13页
时间:2018-08-01
《emeditor与正则表达式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、EmEditor与正则表达式EmEditor与正则表达式 正则表达式,英文Regularexpression,简写Regexes或Regex。 应用概述:提供与预期的搜索结果匹配的确切文本来进行字符串的搜索和替换操作。这种技术不仅仅用于开发领域,更被集成到一些常见的文本扩展编辑器,如UltraEdit、EmEditor等。历史上第一个实用应用程序是Unix中的Qed编辑器。 举一个简单的类比:我们对DOS中的通配符"*"和"?"应该很熟悉,如命令"dir*.exe"将列出所有后缀名为exe的文件名。正则表达
2、式提供的方法与其类似,而且远比通配符强大的多。 从某种意义上说,正则表达式是一种语言,通过及其简短的一行代码即可以高效、精确的描述要匹配的复杂文本,当然,它最大的优点也是他最大的缺点:语法复杂,创建困难。 主要应用: 数据验证这是正则表达式在开发中最常见的应用,通过测试字符串内的模式。来验证输入的字符串是否为邮政编码、电话号码、电子邮件地址、信用卡号码等等。 搜索和替换文本用正则表达式来搜索文档中的特定文本块,根据需要用其他指定的文本块进行替换。这也是文本编辑中的一个常见应用,如将网页中的HTML代码转化
3、为UBB代码。 既然发在“软件使用”板,正则表达式的开发应用就不介绍了,以下仅以EmEditor中的正则表达式来作介绍: 1.启用正则表达式 菜单:搜索-查找,选中“使用正则表达式”。 2.Emeditor正则语法 正则表达式是普通字符和元字符组合的一种模式。它的结构与算术表达式的结构类似,各种元字符和运算符可以将小的表达式组合起来,创建大的表达式。通过在一对分隔符之间放置表达式模式的各种组件,就可以构建正则表达式。 2.1普通字符 普通字符是指除了"."、"*"、"?"、"+"、"("、")"、"
4、{"、"}"、"["、"]"、"^"、"$"和""这些特殊字符之外的所有其他字符。而这些特殊字符也可以通过前面加上""前缀而变为普通字符。比如,搜索"CCF"即为在文本中匹配所有的"CCF"字符串,搜索"[CCF]"则是在文本中匹配所有的"[CCF]"字符串。 简而言之,普通字符即为只匹配自身的字符。 2.2元字符 元字符不匹配其自身,它用特殊方式来解析从而实现更多的逻辑功能。正则表达式通过元字符在模式中包含选择和循环 2.2.1特殊字符 .匹配除换行符之外的任何单个字符。 ()分组捕获(
5、子表达式)的开始和结束。可以捕获子表达式以供以后使用。 []中括号表达式的开始。 中括号表达式是在方括号内包含一个或多个字符构成的列表的表达式。普通字符在中括号内表示本身,大多数特殊字符在中括号表达式内出现时失去它们的意义。除了转义字符'',(要包含'',需要使用'\')如:正则表达式No[1234]匹配No1,No2,No3和No4。 如果想在中括号中使用一个范围作为列表来匹配字符,可以用连字符'-'将范围中的开始字符和结束字符分开。单个字符的字符值确定范围内的相对顺序。如:正则表达式No[1-4]
6、=No[1234] 注意 ①开始值的Unicode值必须在结束值Unicode值的前面。 ②[-]匹配连字符'-',放在中括号列表的开始或结尾也可起到同样的效果,如[-c-f]匹配c至f的字符和连字符 如果需要匹配不属于列表或范围内的任何字符,可以在列表开头加上'^'前缀。如:正则表达式No[^1-4]匹配No5和更大的编号。 中括号表达式还可进行组合,如[A-Za-z0-9]匹配A-Z,a-z,0-9的字符 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如: ①字符n匹配字符n
7、②匹配换行符 ③序列\匹配 ④序列(匹配(
8、替换字符,对
9、左右的两个项分别匹配进行选择。或者说,就是逻辑的OR的概念。 {}标记限定符表达式的开始。 (数量)限定字符 限定字符能够指定正则表达式的某个部分必须出现的次数 *零次或多次匹配前面的字符或子表达式。如,c*f可以匹配f和ccf。*={0,} +一次或多次匹配前面的字符或子表达式。如,c+f可以匹配cf和ccf,但不匹配f。+={1,} ?零次或一次匹配前面的字符或子表达式。如,cc?f可以匹配cf或ccf。?={0,1}
10、{n}n是非负整数。正好匹配n次。如,c{2}f可以匹配ccf。 {n,}n是非负整数。至少匹配n次。如,c{2,}f不匹配cf,而可以匹配ccccccf。c{1,}=c+,c{0,}=c*。 {n,m}m和n是非负整数,其中n<=m。至少匹配n次,至多匹配m次。如,c{1,3}可以匹配ccf中的cc。c{0,1}=c?。 2.2.2控制字符 aBell字符。=
此文档下载收益归作者所有