代码改变世界大数据 爬虫Python AI Sql架构算法设计模式和编程理论

正则表达式简介

2017-02-11  本文已影响0人  forgeiron

正则表达式(Regular expression)

 理解: wiki: a sequence of  characters that define a  search pattern 
      个人翻译:定义某种匹配规则的字符序列
 目的:检验字符串是否符合某种规则
 例子:Windows中文件名不能含有这些字符 [, /, \, |, <, >, # ,? , :, *   可用正则表达式解决

一.通过代码讲解正则表达式的使用:

C#版本
bool IsValidFilename(string testName)
{
      Regex invalidFileName = new Regex(@"[/\|<>#?*:]");
       if (invalidFileName.IsMatch(testName))
       {
             return false;
       };
        return true;
}

通常我们会定义一个匹配规则的载体,代码中@"[/\|<>#?*:]"是规则, invalidFileName是载体。怎么理解?invalidFileName对象通过@"[/\|<>#?*:]构造,这个对象会调用IsMatch()方法去匹配字符串,匹配的规则就是@"[/\|<>#?*:]


二.正则表达式语法
  正则表达式在各种语言中的使用套路大同小异,学习正则表达式,其核心是匹配规则的编写
 这是简易入门,所以我并不会向其他教程或博客通篇列举各种语法,我只是介绍最简单最常用的语法,等到自己发现某种规则没有思路编写,我们再去查相关资料进行学习,这才是学习正则表达式的正确方法。
  这里就以我们上面代码用到的规则讲解一下,我们发现,[]中包含着Windows文件名中所不能包含的字符。对的,就像你猜的一样,[]中包含的字母在要匹配的字符串中出现,就会匹配成功。(前面的@是C#语法,加上了@,我们写字符串的时候就不需要考虑转义字符了)


三.总结
  这仅仅是简易入门,正则表达式的学习不是一朝一夕的事情,需要长久的使用和总结记忆。下面是语法参考资料
   正则表达式规则

上一篇 下一篇

猜你喜欢

热点阅读