æåã¨ã¹ã±ã¼ã: \n, \u{...}
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2015å¹´7æ.
æåã¨ã¹ã±ã¼ãã¯ããªãã©ã«ã®å½¢ã§ã¯ãã¾ã表ç¾ã§ããªãæåã表ãã¾ãã
æ§æ
\f, \n, \r, \t, \v
\cA, \cB, â¦, \cz
\0
\^, \$, \\, \., \*, \+, \?, \(, \), \[, \], {, }, \|, \/
\xHH
\uHHHH
\u{HHH}
ã¡ã¢:
, ã¯æ§æã®ä¸é¨ã§ã¯ããã¾ããã
弿°
HHH-
æåã® Unicode ã³ã¼ããã¤ã³ãã表ã 16 鲿°ã§ãã
xHHå½¢å¼ã®å ´å㯠16 鲿° 2 æ¡ãuHHHHå½¢å¼ã®å ´å㯠4 æ¡ã\u{HHH}å½¢å¼ã®å ´å㯠16 鲿° 1 æ¡ãã 6 æ¡ãæã¤ãã¨ãã§ãã¾ãã
解説
以ä¸ã®æåã¨ã¹ã±ã¼ããæ£è¦è¡¨ç¾å ã§èªèããã¾ãã
\f,\n,\r,\t,\v-
æåãªãã©ã«ã®ãã®ã¨åãã§ããã
\bã¯åèªå¢çã¨ãªãã¾ãï¼æåã¯ã©ã¹ã§ãªãéãï¼ã \cã«AããZã¾ãã¯aããzãç¶ãããã®-
32 ã§å²ã£ãä½ãã«çããå¤ã®å¶å¾¡æåã表ãã¾ããä¾ãã°ã
Jã®ã³ã¼ããã¤ã³ã㯠74 ã§ããã74 ã 32 ã§å²ãã¨æ¹è¡ã®ã³ã¼ããã¤ã³ãã§ãã 10 ã§ãããããcJã¯æ¹è¡ (\n) ã表ãã¾ãã大æåã¨å°æåã®å½¢å¼ã¯ 32 ã ãç°ãªãã®ã§ã\cJã¨\cjã¯ç価ã§ãããã®å½¢ã§ 1 ãã 26 ã¾ã§ã®å¶å¾¡æåã表ããã¨ãã§ãã¾ãã \0-
U+0000 NUL æåã表ãã¾ããæ°åãç¶ãã¦ã¯ããã¾ã¾ããï¼å¤ã 8 鲿°ã¨ã¹ã±ã¼ãã·ã¼ã±ã³ã¹ã«ãªãã¾ãï¼ã
\^,\$,\\,\.\*,\+,\?,\(,\),\[,\],{,},\|,\/-
æåèªä½ã表ãã¾ããä¾ãã°ã
\\ã¯ããã¯ã¹ã©ãã·ã¥ã表ãã\(ã¯å·¦æ¬å¼§ã表ãã¾ãããããã¯æ£è¦è¡¨ç¾å ï¼/ã¯æ£è¦è¡¨ç¾ãªãã©ã«ã®åºåãæåã§ãï¼ã§ã¯æ§ææåã§ãããããæåã¯ã©ã¹å ã§ãªãå ´åã¯ã¨ã¹ã±ã¼ãããå¿ è¦ãããã¾ãã \xHH-
æå®ããã Unicode ã³ã¼ããã¤ã³ããæã¤æåã表ãã¾ãã16 鲿°ã¯æ£ç¢ºã« 2 æ¡ã§ãªããã°ãªãã¾ããã
\uHHHH-
æå®ããã Unicode ã³ã¼ããã¤ã³ããæã¤æåã表ãã¾ãã16 鲿°ã¯æ£ç¢ºã« 4 æ¡ã§ãªããã°ãªãã¾ããããã®ãããªã¨ã¹ã±ã¼ãã·ã¼ã±ã³ã¹ 2 ã¤ã§ãUnicode 対å¿ã¢ã¼ãã§ã¯ãµãã²ã¼ããã¢ã表ãã®ã«ä½¿ç¨ãããã¨ãã§ãã¾ããï¼Unicode é対å¿ã¢ã¼ãã§ã¯å¸¸ã« 2 ã¤ã®å¥åã®æåã«ãªãã¾ããï¼
\u{HHH}-
ï¼Unicode 対å¿ã¢ã¼ãã®ã¿ï¼æå®ããã Unicode ã³ã¼ããã¤ã³ããæã¤æåã表ãã¾ãã16 鲿°ã¯ 1 æ¡ãã 6 æ¡ã¾ã§ã§ãã
Unicode é対å¿ã¢ã¼ãã§ã¯ãä¸è¨ã®ãããã§ããªãã¨ã¹ã±ã¼ãã·ã¼ã±ã³ã¹ã¯èå¥ã¨ã¹ã±ã¼ãã«ãªãã¾ãããããã¯ããã¯ã¹ã©ãã·ã¥ã«ç¶ãæåã表ãã¾ããä¾ãã°ã\a ã¯æå a ã表ãã¾ãããã®åä½ã¯å¾æ¹äºææ§ã®åé¡ãçºçããããã¨ãªãæ°ããã¨ã¹ã±ã¼ãã·ã¼ã±ã³ã¹ãå°å
¥ã ãè½åãå¶éãããããUnicode 対å¿ã¢ã¼ãã§ã¯ç¦æ¢ããã¦ãã¾ãã
Unicode é対å¿ã¢ã¼ãã§ã¯ã]ã{ã} ã¯æåã¯ã©ã¹ã®æ«å°¾ãæ°éè©ã®åºåãæåã¨ãã¦è§£éã§ããªãå ´åãæåéãã«ç¾ãããã¨ãããã¾ããããã¯ã¦ã§ãã®äºææ§ã®ããã«éæ¨å¥¨ã§ãã
Unicode é対å¿ã¢ã¼ãã§ã¯ãæåã¯ã©ã¹å
ã® \cX ã¨ããå½¢ã®ã¨ã¹ã±ã¼ãã·ã¼ã±ã³ã¹ã§ãX ãæ°åã¾ã㯠_ ã§ããå ´åãASCII æåã¨åãããã«ãã³ã¼ãããã¾ãã\c0 㯠32 ã§å²ã£ãä½ããåã£ã¦ \cP ã¨åãã«ãªãã¾ããããã«ã\cX ã«ééããã¨ã X ãèªèãããæåã®ä¸ã¤ã§ãªãã£ãå ´åãããã¯ã¹ã©ãã·ã¥ã¯ãªãã©ã«æåã¨ãã¦æ±ããã¾ãããããã®æ§æã鿍奍ã§ãã
/[\c0]/.test("\x10"); // true
/[\c_]/.test("\x1f"); // true
/[\c*]/.test("\\"); // true
/\c/.test("\\c"); // true
/\c0/.test("\\c0"); // true ï¼\c0 æåã¯æåã¯ã©ã¹å
ã§ã®ã¿å¯¾å¿ãã¦ãã¾ãï¼
ä¾
>æåã¨ã¹ã±ã¼ãã®ä½¿ç¨
æåã¨ã¹ã±ã¼ãã¯ããªãã©ã«å½¢å¼ã§ã¯è¡¨ãã«ããæåã¨ç §åãããã¨ãã«æçã§ããä¾ãã°ãæ£è¦è¡¨ç¾ãªãã©ã«ã§ã¯æ¹è¡ã¯ä½¿ç¨ã§ããªãã®ã§ãæåã¨ã¹ã±ã¼ãã使ç¨ããªããã°ãªãã¾ããã
const pattern = /a\nb/;
const string = `a
b`;
console.log(pattern.test(string)); // true
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # prod-CharacterEscape> |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
- æåã¯ã©ã¹
- æ£è¦è¡¨ç¾ãªãã¡ã¬ã³ã¹
- æåã¯ã©ã¹:
[...],[^...] - æåã¯ã©ã¹ã¨ã¹ã±ã¼ã:
\d,\D,\w,\W,\s,\S - ãªãã©ã«æå:
a,b - Unicode æåã¯ã©ã¹ã¨ã¹ã±ã¼ã:
\p{...},\P{...} - 徿¹åç
§:
\1,\2 - ååä»ã徿¹åç
§:
\k<name>) - åèªå¢çã¢ãµã¼ã·ã§ã³:
\b,\B