很早之前做网站就接触过这个东东了,不过由于用的比较少,总是学了忘、忘了学,一知半解。现在来看大量的常用工具都支持了正则表达式,比如 Everything、编辑器等。
如果没有了解过正则表达式,在看到一串复杂的符号串的同时,无疑有些懵了。但事实上是很简练、精致的一种表达式。先不说在在软件开发方面如何,单从日常的海量文件查找方面来看,使用 Everything 的正则表达式方式去搜索,已经能受益匪浅了。
经常在搜索文档的时候想搜索文件名含有某某并且后缀是 7z 或 rar 或 zip ,用传统的搜索总是显得力不从心。往往方法是有的,但总是被束之高阁,不知道这回事儿还好,知道但不去用就是懒惰的表现了。不如搬个凳子坐下来学学,熟练使用,能知行合一,阳明先生知道了也会点个赞的。
正则表达式由用户关键字和元字符构成,所谓的用户关键字是指我们想搜索的字符串具有一定的规则或共同的特点,我们把这些特点提取出来,得出的关键字符串。比如想搜索所有含有 abc 字符串的文档,那么,文件名中含有abc就是特点,abc 就是关键字。元字符是正则表达式中的特殊含义的组成单元,可以看作是一种粘结剂或者逻辑运算符号再或者魔法药水什么的。用户关键字和元字符一旦组合,便能使内容中的所有相匹配的字符串难逃法网,想想都有些小激动呢,哇哈哈。哇~ 喔~,我也是刚刚从门外瞄了一眼……
话先说到这里,内容陆续补充,文档格式不断地整理吧。
元字符含义
. 匹配任意非换行符(\n)的字符
* 使其前的元字符重复任意次以使整个表达式得到匹配
+ 使其前的元字符重复 1 次或更多次以使整个表达式得到匹配
\b 匹配单词的开始或结束(可以单独使用也可以成对使用)
\d 匹配一个数字
\s 匹配任意空白符,包括空格、制表符( Tab )、换行符、中文全角空格等
\w 匹配字母或数字或下划线或汉字
^ 匹配字符串的开始
$ 匹配字符串的结束
| 分支条件(两边的表达式是或的关系)
|