JavaScript正则表达式(一)—— 开始及资源

来源:互联网 发布:通过ip添加网络打印机 编辑:程序博客网 时间:2024/06/06 03:06

开始

正则表达式是神秘而有趣的,一起来看看吧~~

什么是正则表达式?

A regular expression, regex or regexp(sometimes called a rational expression)is, in theoretical computer science and formal language theory, a sequence of characters that define a search pattern. Usually this pattern is then used by string searching algorithms for “find” or “find and replace” operations on strings. ——WIKIPEDIA

一切都是模式!!!

本质上,正则表达式(简称“正则”)是根据特定规则实现的适用的模式,用于匹配指定范围文本

可以看到这里主要包括:规则模式范围文本


规则:也就是正则表达式的语法,包括原义文本字符,修饰符,和元字符。其中修饰符可分为igm三种;元字符又可以分为字符类,范围类,预定义类,量词,分组等等,还有贪婪,非贪婪,正向前瞻,负向前瞻等特殊用法。

模式模式可以理解为是最终用于匹配文本的一组规则集合,也可以说是一种适用的通用规律。必须提及的是,模式是对最终实现目的的一种描述,其定义方式和复杂程度,和目的紧密相关。因此在编写前,需要明确最终的目的,是用于检索?提取数据?还是用于校验?

范围:这里的范围,指的是需要进行处理的文本数据可能包含的场景。因为针对不同数据,不同场景得到的模式不尽相同,可能对于数据集A,正则表达式R可得到正确结果,但是在添加一条新类型数据后,R定义的规则便不适用了。因此在正则表达式的世界中,不存在最好的,只有最适用的,而且每个人对数据和规则的理解也千差万别,所以无需追求适配所有情况的正则,那无异于画蛇添足。

文本:正则表达式的根本就是匹配文本。在此基础上,进行校验,和相关操作,如JavaScript中的String.search()String.replace()函数便是分别实现了检索和替换的操作。


正则适用场景有哪些?

一切与文本有关的操作。

当前主流的编程语言几乎都实现了对正则的支持。但可能由于语言自身的使用范围,导致对正则的实现存在细微的差异,但中心思想和基本语法却是相一致的。

因为正则的出现便是为了在Unix系统下方便操作文本,因此在各系统的终端或命令行中都可以使用,只是需要了解系统对正则的支持方式。

支持正则的IDE中,有助于更快定位文件或代码片。

注意:当前正则语法存在两种版本,POSIX标准语法Perl语法标准。在使用时需要了解当前使用规则的版本。

学习正则能收获什么?

  • 当然,首先就是利用正则处理字符串的技术
  • 个人认为,其内涵的思想和方法也是值得深入体会的
    • 对规则的提炼,从特殊到一般的模式
    • 从局部到整体的分析策略
    • 知己知彼百战不殆
    • 合理分解问题的方法
    • 没有最好的,只有最适合的
    • 逼格不是装出来的,是练出来的

推荐资源

教程

  • 慕课网——JavaScript正则表达式视频教程

网站

  • regular-expressions.info
  • 正则的可视化展示

博客

  • 为什么使用正则test( )第一次是 true,第二次是false?

书籍:

  • JavaScript Regular Expressions:英文书籍,针对JavaScript正则
  • 精通正则表达式(第三版)简体中文:涉及语言较多,推荐阅读前6章内容,后续章节按需阅读。
0 0
原创粉丝点击