-
- 有两种类型的引擎:文本导向(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个 字符具有特殊含义。它们是:“] \ ^ -”。“]”代表字符集定义的结束;“\”代表转义;“^”代表取反;“-”代表范围定义
- + * 等等等没有特殊含义 可以不转义就直接使用
-
2016年10月5日星期三
Google Blog 10/06/2016 (a.m.)
订阅:
博文评论 (Atom)
没有评论:
发表评论