ES5-正则表达式-15.10.2.3 析取Disjunction

产生式 Disjunction :: Alternative | Disjunction 按照以下方式解释执行:

  1. 解释执行 Alternative 来获得一个 Matcher m1.
  2. 解释执行 Disjunction 来获得一个 Matcher m2.
  3. 返回一个需要两个参数的内部闭包 Matcher ,参数分别是一个 State x 和一个 Continuation c,此内部闭包的执行方式如下:
    1. 调用 m1(x, c) 并令 r 为其结果。
    2. 如果 r 不是 failure, 返回 r.
    3. 调用 m2(x, c) 并返回其结果。

通俗理解:

有多少个左括号就有多少个捕获,捕获数组第0项是整体的匹配字符串;

之后的第几项就是第几个捕获;

是从输入字符串第一个字符开始,如果正则捕获组有匹配的就返回匹配字符串,用 | 字符隔开的捕获,如果一边匹配上了另一边就不再匹配,值为初始值undefined;

输入字符串每次被捕获之后就从该捕获匹配字符串后面的字符开始下一次的捕获匹配

举例:

时间: 2024-12-20 03:16:32

ES5-正则表达式-15.10.2.3 析取Disjunction的相关文章

将命题转化为主析取命范式和主合取范式

1 #coding=utf-8 2 3 my_input = '' #输入字符串,即输入的原始命题 4 all_letters = [] #命题中所有的字母 5 my_parse = '' 6 hequ_result=[] 7 xiqu_result=[] 8 9 def getInput(): 10 global my_input 11 print u'\n 请输入任意一个命题,规则如下:' 12 print u" 1.'~'表示非" 13 print u" 2.'&

Ubuntu 15.10

安装Ubuntu 15.10后要做的事 http://blog.csdn.net/skykingf/article/details/45267517 ubuntu15.10 install-mac-theme http://www.linuxdiyf.com/linux/15583.html 每周一贴:Ubuntu Kylin 15.10 如何安装Mac主题 http://www.ubuntukylin.com/news/shownews.php?lang=cn&id=547 Opencv3.1

Ubuntu 15.10搭建IPSec L2TP服务器

以下步骤完全使用于Ubuntu 14.04版本 首先安装以下所需包 sudo apt-get install openswan xl2tpd ppp lsof!注意!Ubuntu 15.10会提示无法找到openswan包,解决办法是用喜欢的编辑器编辑以下文件,实例用vimsudo vim /etc/apt/sources.list在文件最后添加一行deb http://us.archive.ubuntu.com/ubuntu precise main universe保存后,执行下面命令sud

安装Ubuntu 15.10后要做的事

Ubuntu 15.10发布了,带来了很多新特性,同样也依然带着很多不习惯的东西,所以装完系统后还要进行一系列的优化. 1.删除libreoffice libreoffice虽然是开源的,但是Java写出来的office执行效率实在不敢恭维,装完系统后果断删掉 [html] view plain copy sudo apt-get remove libreoffice-common 2.删除Amazon的链接 [html] view plain copy sudo apt-get remove 

ubuntu 15.10安装搜狗输入法不能打开

安装Linux是为了更好的做开发,而开发其实不需要输入中文的,然而 在大中国的环境下,电脑没有中文输入法是不行的... 这次装ubuntu 坚持了4天没有中文输入法,我能说,其实没有中文输入法貌似也没什么问题(PS:还有一句是,两台电脑,和虚拟机里面的win8.1 切换好烦,自己领悟..) 进入正题,ubuntu 15.10 安装搜狗输入法: 1.去搜狗官网下载Linux版的安装文件(.deb文件),官网最上面菜单栏第三个,选择相应版本,我的是64位 2.双击.deb文件安装 3.System

c# 正则表达式对网页进行内容抓取

原文 c# 正则表达式对网页进行内容抓取 搜索引擎中一个比较重要的环节就是从网页中抽取出有效内容.简单来说,就是吧HTML文本中的HTML标记去掉,留下我们用IE等浏览器打开HTML文档看到的部分(我们这里不考虑图片). 将HTML文本中的标记分为:注释,script ,style,以及其他标记分别去掉: 1.去注释,正则为: output = Regex.Replace(input, @"<!--[^-]*-->", string.Empty, RegexOptions.

Swift 3.0 on Ubuntu 15.10

一.安装swift 3.0 1. 下载 https://swift.org/download/ 找到swift-3.0 ubuntu 15.10版本下载: https://swift.org/builds/swift-3.0-preview-1/ubuntu1510/swift-3.0-preview-1/swift-3.0-preview-1-ubuntu15.10.tar.gz 2. 解压文件,然后移动改名到/opt $ tar zvxf swift-3.0-preview-1-ubuntu

ubuntu 15.10下安装PyQt5

目标是  http://www.oschina.net/p/pyqt 开源中国 客户端 1 http://pyqt.sourceforge.net/Docs/PyQt5/installation.html#configuring-pyqt5 下载安装  http://www.riverbankcomputing.com/software/pyqt/download5 Error: PyQt5 requires Qt v5.0 or later I want to install PyQt5 on

一周随笔--15.10.27

一周新知识点记录(15.10.27) 一.不规则按钮OBShapedButton 常规按钮都是一个矩形区域,即使设置了按钮layer的cornerRadious,能响应点击事件的依旧是整个矩形区域. OBShapedButton是开源的第三方库,直接继承自UIButton,直接使用即可.它的响应区域只限定在button的图片或者背景图片区域,周围空出的区域无法响应. 二.sendActionsForControlEvents UIButton的实例方法,通过代码手动发送按钮的点击事件触发按钮的响