ES6-13 正则方法、修饰符yus、UTF_16编码方式
生活随笔
收集整理的這篇文章主要介紹了
ES6-13 正则方法、修饰符yus、UTF_16编码方式
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
修飾符
- m multiLine 對(duì)于str中含\n的情況
- g global
- i ignoreCase
元字符
- 反斜杠加轉(zhuǎn)義
| \w | 匹配字母、數(shù)字、下劃線。等價(jià)于’[A-Za-z0-9_]’。 | word |
| \W | 匹配非字母、數(shù)字、下劃線。等價(jià)于 ‘[^A-Za-z0-9_]’。 | |
| \s | 匹配任何空白字符,包括空格、制表符、換頁(yè)符等等。等價(jià)于 [ \f\n\r\t\v]。 | space |
| \S | 匹配任何非空白字符。等價(jià)于 [^ \f\n\r\t\v]。 | |
| [\w\W] | 所有字符 | |
| \d | 匹配一個(gè)數(shù)字字符。等價(jià)于 [0-9]。 | digit |
| \D | 匹配一個(gè)非數(shù)字字符。等價(jià)于 [^0-9]。 | |
| \b | 匹配一個(gè)單詞邊界,也就是指單詞和空格間的位置。 | bridge border |
| \B | 匹配非單詞邊界。 | |
ES6新增部分
1. 聲明正則的變化方式
var reg = new RegExp('xyz', i) // 也可以 修飾符以第二個(gè)參數(shù)為準(zhǔn) var reg = new RegExp(/xyz/, 'i') // 等價(jià)于ES5 var reg = /xyz/i2. 字符串上的正則方法調(diào)整
// ES6,當(dāng)調(diào)用字符串方法match時(shí),本質(zhì)上調(diào)用的是RegExp原型上的[Symbol.match] String.prototype.match → RegExp.prototype[Symbol.match] String.prototype.replace → RegExp.prototype[Symbol.replace] String.prototype.search → RegExp.prototype[Symbol.search] String.prototype.split → RegExp.prototype[Symbol.split]3. 新增的修飾符u y s
| \y | 再次匹配的時(shí)候看是否粘粘的,是全局的 | sticky |
| \u | 識(shí)別D800以后的4字節(jié)文字,會(huì)將4字節(jié)看做1個(gè)字來(lái)匹配 | unicode |
| \ | ||
| \ |
y
<script>(function () {const str = "aaa_aa_a";const reg2 = /a+/yconsole.log(reg2.exec(str))console.log(reg2.exec(str))console.log(reg2.exec(str))console.log(reg2.exec(str))})(); </script> <script>(function () {console.log('--------------腳本2-----------------')const str = "aaa_aa_a";const reg1 = /a+/gconsole.log(reg1.exec(str))console.log(reg1.exec(str))console.log(reg1.exec(str))console.log(reg1.exec(str))})(); </script>u
console.log(/^\uD83D/.test('\uD83D\uDC2A')) // true console.log(/^\uD83D/u.test('\uD83D\uDC2A')) // false console.log(/^.$/.test('\uD83D\uDC2A')) // false .也匹配不到 console.log(/^.$/u.test('\uD83D\uDC2A')) // true document.body.innerText = '\uD83D\uDC2A's 讓.能代表一切
.不能代表的\n \rU2028(行分隔符) U2029(段分隔符)
console.log(/foo.bar/s.test('foo\nbar')) // true console.log((/foo.bar/s).dotAll)// trueUTF_16
- Unicode分區(qū)定義,ASCII是Unicode的一部分
- 每個(gè)區(qū)存放2的16次方個(gè)(2字節(jié),每個(gè)字節(jié)8位)U+0000 到 U+FFFF 第一個(gè)平面(BMP平面)
- 整個(gè)Unicode分為17個(gè)平面
- 特殊的漢字,2個(gè)字節(jié)表示不了時(shí),用4個(gè)字節(jié)
- U+D800 到 U+FFFF沒(méi)有對(duì)應(yīng)的字符
用碼點(diǎn)顯示emoji
emoji對(duì)照表
總結(jié)
以上是生活随笔為你收集整理的ES6-13 正则方法、修饰符yus、UTF_16编码方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql数据备份在哪里_mysql之数
- 下一篇: 各种品牌进入Bios方式