ES6-13 正则方法、修饰符yus、UTF_16编码方式
生活随笔
收集整理的這篇文章主要介紹了
ES6-13 正则方法、修饰符yus、UTF_16编码方式
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
修飾符
- m multiLine 對于str中含\n的情況
- g global
- i ignoreCase
元字符
- 反斜杠加轉義
| \w | 匹配字母、數字、下劃線。等價于’[A-Za-z0-9_]’。 | word |
| \W | 匹配非字母、數字、下劃線。等價于 ‘[^A-Za-z0-9_]’。 | |
| \s | 匹配任何空白字符,包括空格、制表符、換頁符等等。等價于 [ \f\n\r\t\v]。 | space |
| \S | 匹配任何非空白字符。等價于 [^ \f\n\r\t\v]。 | |
| [\w\W] | 所有字符 | |
| \d | 匹配一個數字字符。等價于 [0-9]。 | digit |
| \D | 匹配一個非數字字符。等價于 [^0-9]。 | |
| \b | 匹配一個單詞邊界,也就是指單詞和空格間的位置。 | bridge border |
| \B | 匹配非單詞邊界。 | |
ES6新增部分
1. 聲明正則的變化方式
var reg = new RegExp('xyz', i) // 也可以 修飾符以第二個參數為準 var reg = new RegExp(/xyz/, 'i') // 等價于ES5 var reg = /xyz/i2. 字符串上的正則方法調整
// ES6,當調用字符串方法match時,本質上調用的是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 | 再次匹配的時候看是否粘粘的,是全局的 | sticky |
| \u | 識別D800以后的4字節文字,會將4字節看做1個字來匹配 | 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分區定義,ASCII是Unicode的一部分
- 每個區存放2的16次方個(2字節,每個字節8位)U+0000 到 U+FFFF 第一個平面(BMP平面)
- 整個Unicode分為17個平面
- 特殊的漢字,2個字節表示不了時,用4個字節
- U+D800 到 U+FFFF沒有對應的字符
用碼點顯示emoji
emoji對照表
總結
以上是生活随笔為你收集整理的ES6-13 正则方法、修饰符yus、UTF_16编码方式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql数据备份在哪里_mysql之数
- 下一篇: 各种品牌进入Bios方式