正则表达式简介

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


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容