ES5-正则表达式-15.10.2.8 Atom

在发生比较前,一次不区分大小写的匹配中所有的字符都会隐式转换为大写。
.
\ AtomEscape
( Disjunction )
( ?:Disjunction ):非捕获括号,不记住匹配项
( ?=Disjunction ):

  使用(?: Disjunction )来避免括号的捕获行为。

  (? = Disjunction )指定一个零宽正向预查。

  为了保证匹配成功,其 Disjunction 必须首先能够匹配成功,但在匹配后续字符前,其当前位置会不变。如果 Disjunction 能在当前位置以多种方式匹配,那么只会取第一次匹配的结果

( ?!Disjunction ):

   (?! Disjunction ) 指定一个零宽正向否定预查。

  为了保证匹配成功,其 Disjunction 必须首先能够匹配失败,但在匹配后续字符前,其当前位置会不变。

  Disjunction 能含有捕获括号,但是对这些捕获分组的后向引用只在Disjunction中有效。

  在当前模式的其他位置后向引用捕获分组都会返回undefined。因为否定预查必须满足预查失败来保证模式成功匹配。

x(?=y) :匹配‘x‘仅仅当‘x‘后面跟着‘y‘.正向肯定查找;

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions

http://yanhaijing.com/es5/#548

例子:

  /(?=(a+))/.exec("baaabac") ===》["","aaa"]  猜测:第一个左括号,输入字符以a开头,没找到匹配,第二个捕获是1-n个a字符,找到匹配,index=1开始的连续三个a字符;即"aaa"

  /(?=(a+))a*b\1/.exec("baaabac") ===》 ["aba","a"]

  /(.*?)a(?!(a+)b\2c)\2(.*)/.exec("baaabaac") ===》 ["baaabaac","ba","undefined","abaac"]

  

\b:单词边界符  xxx\b结尾  \bxxx开头   /\w\b\w/不匹配任何字符

\B :非单词边界符

[\b]:匹配一个退格

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Guide/Regular_Expressions

时间: 2024-08-11 05:35:22

ES5-正则表达式-15.10.2.8 Atom的相关文章

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

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的实例方法,通过代码手动发送按钮的点击事件触发按钮的响

开关智能管理工具NI Switch Executive 15.10

NI Switch Executive 15.10是一款智能的开关管理与路由程序.在用于自动测试设备(ATE)系统的开关软件中 ,它提供了最新的革命.使用NI Switch Executive 15.10,你将可以通过交互式配置和命名开关模型.外部连接 和信号路由等途径来提高开发效率.你也可以使用NI TestStand, LabVIEW, LabWindows/CVI, 和 Measurement Studio进行开关编程来提高测试代码重用和系统性能.最终NI Switch Executive

将Ubuntu 15.10升级到Ubuntu 16.04

Ubuntu 16.04 LTS 代号为 Xenial Xerus,其最终版将于 2016 年 4 月 21 日正式发布,Ubuntu16.04 将是非常受欢迎的开源操作系统 Ubuntu 的第 6 个长期支持版本,其首个 LTS 版本发布于 2006 年 6 月.Ubuntu 16.04 Xenial Xerus 将包含 Unity 7 桌面.Linux Kernel 4.4 和超多应用程序更新.作为新的长期支持版,Ubuntu 16.04 将获得 5 年的 Bug 修复及关键安全补丁更新.