正则表达式基础
PS一句:最终还是选择CSDN来整理发表这几年的知识点,该文章平行迁移到CSDN。因为CSDN也支持MarkDown语法了,牛逼啊! 【工匠若水 http://blog.csdn.net/yanbober】 一、概述正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。由于正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用,小到著名编辑器EditPlus,大到Microsoft Word、Visual Studio等大型编辑器,都可以使用正则表达式来处理文本内容。(PS:初学者一般都认为正则表达式非常抓狂的!理解,你会发现他的强大!) 给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
正则表达式的特点是:
开始学习前的装逼工具技能:1、正则表达式在线验证工具推荐regexpal。 Regexpal是一个基于Javascript的在线正则表达式验证工具,上面的输入框中,是让我们输入正则表达式(匹配规则),下面的输入框则是让我们输入待匹配的数据。此外,根据具体要求,还可以设置忽略大小写、多行匹配等参数。 2、本地安装工具推荐 regexbuddy3 RegexBuddy一款正则表达式编辑工具,帮助你的编写需要的正则表达式,还可以使用它理解别人编写的表达式。 3、学习装逼的工具regexr 不解释,自己Google吧。 总结:工具使用不多解释,这都是小儿科工具,码农都可以自己搞定的。接下来继续带你装逼带你飞。 二、模式匹配基础匹配字符串字面值:原始字符串:”yanbo” 如上就是最简单最直接的字面匹配字符串,属于最简单的正则表达式。 匹配数字:正则表达式: “d” 或者 “[0-9]” 或者 “[0123456789]” 如上三个正则表达式的匹配效果是一样的,都是匹配指定字串中的一个0-9的数字,只是匹配一个数字。三种写法各有优势,”d”可以表示任意数字,”[m-n]”可以表示m-n的一位数字,”[abcd]”可以匹配指定的abcd中的一个数字。特别的认为”[0123456789]”匹配的是”0123456789”字符串是错误的想法,特别留意,匹配的是一位!!!还可以如下: 正则表达式:”[015-7]” 匹配非数字字符:正则表达式:”D” 或者 “[^0-9]” 或者 “[^d]” 如上三个正则表达式的匹配效果是一样的,都是匹配一个非数字字符。”[]”中的”^”就是取反,除去”^”后面的内容。 匹配单词和非单词字符:首先强调一点,匹配的是单词和非单词的字符,不是单词!!! “w” 这个简写式将匹配所有单词字符(字母、数字、下划线)。 如下提供更多的字符简写式,不过要注意!!!!不是所有的正则表达式处理器可以识别以下简写式。
|