RegExp.prototype.unicode
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2016å¹´9æ.
unicode 㯠RegExp ã¤ã³ã¹ã¿ã³ã¹ã®ã¢ã¯ã»ãµã¼ããããã£ã§ããã®æ£è¦è¡¨ç¾ã« u ãã©ã°ã使ç¨ããã¦ãããã©ãããè¿ãã¾ãã
試ãã¦ã¿ã¾ããã
const regex1 = /\u{61}/;
const regex2 = /\u{61}/u;
console.log(regex1.unicode);
// äºæ³ãããçµæ: false
console.log(regex2.unicode);
// äºæ³ãããçµæ: true
解説
RegExp.prototype.unicode ã®å¤ã¯ true ãªãã° u ãã©ã°ã使ç¨ããã¦ãããã¨ã示ããããã§ãªããã° false ã¨ãªãã¾ããu ãã©ã°ã¯ Unicode ã«é¢é£ããæ§ã
ãªæ©è½ãæå¹ã«ãã¾ãã "u" ãã©ã°ã使ç¨ããã¨ã次ã®ããã«ãªãã¾ãã
- Unicode ã³ã¼ããã¤ã³ãã¨ã¹ã±ã¼ã ( \u{xxxx}, \p{UnicodePropertyValue}) ã¯ãID ã¨ã¹ã±ã¼ãã®ä»£ããã«ãã®ããã«è§£éããã¾ããä¾ãã°ã
/\u{61}/uã¯"a"ã«ä¸è´ãã¾ããã/\u{61}/ï¼uãã©ã°ãªãï¼ã¯"u".repeat(61)ã«ä¸è´ãã¾ãã\uãu1 æåã¨åçã«ãªãããã§ãã - ãµãã²ã¼ããã¢ã¯ 2 ã¤ã®å¥ã
ã®æåã§ã¯ãªããå
¨ä½ã®æåã¨ãã¦è§£éããã¾ããä¾ãã°
/[ð]/uã¯"ð"ã«ã®ã¿ä¸è´ãã"\ud83d"ã«ã¯ä¸è´ãã¾ããã lastIndexãèªåçã«é²ãå ´åï¼exec()ãå¼ã³åºããå ´åãªã©ï¼ãUnicode æ£è¦è¡¨ç¾ã¯ UTF-16 ã³ã¼ãåä½ã§ã¯ãªã Unicode ã³ã¼ããã¤ã³ãåä½ã§é²ã¿ã¾ãã
æ§æã®ééããé²ãããã«ãæ§æè§£æã®åä½ã夿´ãããã®ãä»ã«ãããã¾ãï¼æ£è¦è¡¨ç¾æ§æã®å³æ ¼ã¢ã¼ãã«ä¼¼ã¦ãã¾ãï¼ããããã®æ§æã¯ãã¹ã¦éæ¨å¥¨ã§ãããã¦ã§ãã®äºææ§ã®ããã ãã«æ®ããã¦ãããã® ã§ãã®ã§ãé ¼ããªãã§ãã ããã
unicode ã®è¨å®ã¢ã¯ã»ãµã¼ã¯ undefined ã§ãããã®ããããã£ãç´æ¥å¤æ´ãããã¨ã¯ã§ãã¾ããã
Unicode 対å¿ã¢ã¼ã
Unicode 対å¿ã¢ã¼ãã¨è¨ãè¨èã使ãã¨ãã¯ãu ã¾ã㯠v ã®ã©ã¡ããã®ãã©ã°ãã¤ããæ£è¦è¡¨ç¾ãæãããã®å ´åã¯æ£è¦è¡¨ç¾ã Unicode ã«é¢é£ããæ©è½ï¼Unicode æåã¯ã©ã¹ã¨ã¹ã±ã¼ããªã©ï¼ãå©ç¨ã§ããããã«ãªãããã£ã¨å³æ ¼åããæ§æã«ã¼ã«ã«ãªãã¾ããu 㨠v ã¯åãæ£è¦è¡¨ç¾ãäºææ§ã®ãªãæ¹æ³ã§è§£éããããã両æ¹ã®ãã©ã°ã使ç¨ãã㨠SyntaxError ã«ãªãã¾ãã
åæ§ã«ãæ£è¦è¡¨ç¾ã u ãã©ã°ã v ãã©ã°ãæããªãå ´åãUnicode é対å¿ã¢ã¼ãã¨ãªãã¾ãããã®å ´åãæ£è¦è¡¨ç¾ã¯ UTF-16 ã³ã¼ãåä½ã®ä¸¦ã³ã¨ãã¦è§£éãããããããã®å¤ãæ§æãæ§æã¨ã©ã¼ã«ãªããªããªãã¾ãã
ä¾
>unicode ããããã£ã®ä½¿ç¨
const regex = /\u{61}/u;
console.log(regex.unicode); // true
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-get-regexp.prototype.unicode> |