经常用到EmEditor来编辑纯文本文档。最近接触了正则表达式,感受到其功能非常强大。
正则表达式实在包含的内容太多, 仅仅用一篇文章来涵盖是没可能的了, 所以我只是简要的做些介绍和基本的模式应用举例.
正则表达式, 英文 Regular expression, 简写Regexes或Regex.
应用概述: 提供与预期的搜索结果匹配的确切文本来进行字符串的搜索和替换操作, 这种技术不仅仅用于开发领域, 更被集成到一些常见的文本扩展编辑器, 如UltraEdit, Emeditor等. 历史上第一个实用应用程序是Unix 中的qed 编辑器。
举一个简单的类比: 我们对DOS中的通配符"*"和"?"应该很熟悉, 如命令"dir *.exe" 将列出所有后缀名为exe的文件名. 正则表达式提供的方法与其类似, 而且远比通配符强大的多.
从某种意义上说, 正则表达式是一种语言, 通过及其简短的一行代码即可以高效, 精确的描述要匹配的复杂文本, 当然, 它最大的优点也是他最大的缺点: 语法复杂, 创建困难. (熟悉之后就可以忽略后半句了 :p)
主要应用:
数据验证; 这是正则表达式在开发中最常见的应用, 通过测试字符串内的模式。来验证输入的字符串是否为邮政编码, 电话号码, 电子邮件地址, 信用卡号码等等。
搜索和替换文本; 用正则表达式来搜索文档中的特定文本块, 根据需要用其他指定的文本块进行替换。这也是文本编辑中的一个常见应用, 如将网页中的HTML代码转化为UBB代码.
1. 启用正则表达式
菜单: Search - Find (Replace) - 选中 Use Regular Expressions
2. Emeditor 正则语法
正则表达式是普通字符和元字符组合的一种模式. 它的结构与算术表达式的结构类似, 各种元字符和运算符可以将小的表达式组合起来,创建大的表达式。通过在一对分隔符之间放置表达式模式的各种组件,就可以构建正则表达式。
2.1 普通字符
普通字符是指除了 ".", "*", "?", "+", "(", ")", "{", "}", "[", "]", "^", "$" 和 "/" 这些特殊字符之外的所有其他字符. 而这些特殊字符也可以通过前面加上"/"前缀而变为普通字符. 比如, 搜索"CCF"即为在文本中匹配所有的"CCF"字符串, 搜索"/[CCF/]"则是在文本中匹配所有的"[CCF]"字符串.
简而言之, 普通字符即为只匹配自身的字符.
2.2 元字符
元字符不匹配其自身,它用特殊方式来解析从而实现更多的逻辑功能。正则表达式通过元字符在模式中包含选择和循环
2.2.1 特殊字符
新闻热点
疑难解答
图片精选