es6基础(3)-正则扩展
//正则扩展
{
let regex=new RegExp('xyz','i');
let regex2=new RegExp(/xyz/i); console.log(regex.test('xyz123'),regex2.test('xy'));
//后面的修饰符i覆盖原来的ig修饰符
let regex3=new RegExp(/xyz/ig,'i');
console.log(regex3.flags);
} {
let s='bbb_bb_b';
//g,y都是全局匹配
let a1=/b+/g;
let a2=/b+/y;
console.log('one:',a1.exec(s),a2.exec(s));//第一次都是从头开始匹配,bbb
console.log('two:',a1.exec(s),a2.exec(s));//第二次,g会忽略_直接bb,y不会忽略,所以匹配不到
//sticky查看是否开启了y修饰符
console.log(a1.sticky,a2.sticky);
} //ES6 对正则表达式添加了 u 修饰符,含义为 "Unicode模式",用来正确处理大于 \uFFFF 的Unicode字符。也就是说,会正确处理四个字符的 UTF-16 编码。
//字符串大于两个字节的要加上u
{
console.log('u-1',/^\uD83D/.test('\uD83D\uDC2A'));//true
console.log('u-2',/^\uD83D/u.test('\uD83D\uDC2A')); //false
//上面代码中,\uD83D\uDC2A 是一个四字节的UTF-16 编码,代表一个字符,但是,ES5不支持四个字节的 UTF-16 编码,会将其识别为两个字符,导致第一行代码结果为 true ,加了u修饰符以后,ES6就会识别其为一个字符,所以第二行代码结果为false。
//一旦加上 u 修饰符号,就会修改下面这些正则表达式的行为 console.log(/\u{61}/.test('a'));//false
console.log(/\u{61}/u.test('a'));//true
}
//点(.)字符在正则表达式中,含义是除了换行符以外的任意单个字符。对于码点大于 oxFFFF 的 Unicode 字符,点字符不能识别,必须加上 u 修饰符。
{
console.log(`\u{20BB7}`);
let s='es6基础(3)-正则扩展的更多相关文章
- 【ES6基础】字符串扩展
4.字符串扩展 (1)for...of循环遍历. let foo = [1,2,3,4,5,6] for(let i of foo){ console.log(i); } 结果: (2)include ...
- es6 语法 (正则扩展)
{ //es5中 let regex = new RegExp('xyz', 'i'); let regex2 = new RegExp(/xyz/i); console.log(regex.test ...
- es6基础(6)--数组扩展
//数组扩展 { let arr=Array.of(3,4,6,7,9,11);//可以是空 console.log('arr=',arr);//[3,4,6,7,9,11] } { //Array. ...
- es6基础(4)--字符串扩展
//字符串扩展 { console.log('a','\u0061'); console.log('s','\u20BB7');//超过了0xffff console.log('s','\u{20BB ...
- ES6学习之正则扩展
RegExp正则函数 var reg = new RegExp("abc","igm"); //等价于 var reg = new RegExp(/abc/ig ...
- es6基础(7)--函数扩展
{ //有默认值的后面如果有参数必须要有默认值 function test(x,y="world"){ console.log(x,y) } test('hello');//hel ...
- es6基础(5)--数值扩展
{ //Number.isFinite数字是有尽的 console.log(Number.isFinite(15));//true console.log(Number.isFinite(NaN)); ...
- ES6基础-ES6的扩展
进行对字符串扩展,正则扩展,数值扩展,函数扩展,对象扩展,数组扩展. 开发环境准备: 编辑器(VS Code, Atom,Sublime)或者IDE(Webstorm) 浏览器最新的Chrome 字符 ...
- .NET正则基础——.NET正则类及方法应用
1 概述 初学正则时,对于Regex类不熟悉,遇到问题不知道该用哪种方法解决,本文结合一些正则应用的典型应用场景,介绍一下Regex类的基本应用.这里重点进行.NET类的介绍,对于正则的 ...
随机推荐
- js 字符串转对象
使用eval var test = '{ colkey: "col", colsinfo: "NameList" }' var obj2 = eval(&quo ...
- RSA读取密钥——使用openssl编程
RSA是基于数论中大素数的乘积难分解理论上的非对称加密法.在此密码术中,使用公钥(public key)和私钥(private key)两个不同的密钥:公钥用于加密,它是向所有人公开的:私钥用于解密, ...
- MySQL+MyBatis下批量修改数据的问题
今天处理数据批量的更新,场景是这样子的,web站管理的字典功能,需要添加一个记录的整体描述,以及详细内容的描述.一个字典整体概述只有一组信息,但是其详细内容,会有很多项,不确定. 这个场景,在关系型数 ...
- Php文件上传类class.upload.php
简介 Class.upload.php是用于管理上传文件的php文件上传类, 它可以帮助你快速的给自己的网站集成上传文件功能.不仅如此,此分类还有一些列的处理功能,可以对上传的文件或者本地的文件进行处 ...
- Windows核心编程 中部分代码 Delphi 实现
// ① Delphi 使用 Interlocked 系列函数 var MyValue:Longint = ; // = Integer begin InterlockedIncrement(MyVa ...
- js控制html5 【video】标签中视频的播放和停止
需求:页面中有2个普通按钮a,b.还有一个video标签,能成功播放出视频..我想要的效果是,点击a按钮,视频开始播放,点击b按钮,视频播放停止!!!<br><br>----- ...
- 帆软:不使用 __parameters__ 传参,问题。
原帖地址:http://bbs.fanruan.com/thread-117614-1-1.html 在设计器本地可以用下面方式传参数,这个方式跟 &userID=28 的结果是一样的. Re ...
- TabControl TabPage添加关闭按钮
自定义控件代码如下: using System.Drawing; using System.Windows.Forms; namespace Demo.UC { public class KKTab ...
- 使用Selenium模拟浏览器抓取斗鱼直播间信息
获取斗鱼直播间每个房间的名称.观看人数.tag.主播名字 代码: import time from multiprocessing import Pool from selenium import w ...
- a标签中可以加button,但是不提倡;button中不能加a标签,否则不能跳转
a标签中可以加button,但是不提倡:button中不能加a标签,否则不能跳转