正则表达式简介

正则表达式(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#语法,加上了@,我们写字符串的时候就不需要考虑转义字符了)

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

    原文作者:forgeiron
    原文地址: https://www.jianshu.com/p/d01dfe2c716a
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞