2016年10月5日星期三

Google Blog 10/06/2016 (a.m.)

    • 有两种类型的引擎:文本导向(text-directed)的引擎和正则导向(regex-directed)的引擎
      • 正则表达式解析引擎有两种,分别是DFA与NFADFA:确定有限状态自动机NFA:非确定有限状态自动机
    • 如“惰性”量词(lazy quantifiers)和反向引用(backreferences),只能在正则导向的引擎中实现
    • 正则导向的引擎是“猴急”的,它会很急切的进行表功,报告它找到的第一个匹配
      • 这么说,JavaScript也是正则导向的
    • <<q[^u]>>并不意味着:匹配一个q,后面没有u跟着。它意味着:匹配一个q,后面跟着一个不是u的字符。所以它不会匹配“Iraq”中的q,而会匹配“Iraq is a country”中的q和一个空格符。
      • 事实上,空格符是匹配中的一部分,因为它是一个“不是u的字符”。
    • 字符集中只有4 字符具有特殊含义。它们是:“] \ ^ -”。“]”代表字符集定义的结束;“\”代表转义;“^”代表取反;“-”代表范围定义
      • + * 等等等没有特殊含义 可以不转义就直接使用

Posted from Diigo. The rest of my favorite links are here.

没有评论:

发表评论