RegExp.prototype.source
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æ.
source 㯠RegExp ã®ã¢ã¯ã»ãµã¼ããããã£ã§ãæ£è¦è¡¨ç¾ãªãã¸ã§ã¯ãã®ã½ã¼ã¹ããã¹ãã®å
¥ã£ãæååãè¿ãã¾ããããã«ã¯ã両端㮠2 ã¤ã®ã¹ã©ãã·ã¥ããã©ã°ã¯å«ã¾ãã¾ããã
試ãã¦ã¿ã¾ããã
const regex = /fooBar/gi;
console.log(regex.source);
// äºæ³ãããçµæ: "fooBar"
console.log(new RegExp().source);
// äºæ³ãããçµæ: "(?:)"
console.log(new RegExp("\n").source === "\\n");
// äºæ³ãããçµæ: true ï¼ES5 以éï¼
// Due to escaping
解説
æ¦å¿µçã«ã¯ãsource ããããã£ã¯æ£è¦è¡¨ç¾ãªãã©ã«ã® 2 ã¤ã®ã¹ã©ãã·ã¥ã®éã®ããã¹ãã§ãããã®è¨èªã§ã¯ãè¿ãããæååãé©åã«ã¨ã¹ã±ã¼ãããã¦ããå¿
è¦ããããsource ã®ä¸¡ç«¯ã«ã¹ã©ãã·ã¥ãé£çµããã¨ãè§£æå¯è½ãªæ£è¦è¡¨ç¾ãªãã©ã«ãå½¢æããã¾ããä¾ãã°ãnew RegExp("/") ã®å ´åãsource 㯠\\/ ã§ãããã㯠/ ãçæããçµæã®ãªãã©ã«ã¯ /// ã§ããåæ§ã«ãæ¹è¡æåã¯ãæ¹è¡æåã§ããæåããæ£è¦è¡¨ç¾ãªãã©ã«ãåå²ãã¦ãã¾ãããããã¹ã¦ã¨ã¹ã±ã¼ãããã¾ããçµæãè§£æå¯è½ã§ããéããä»ã«ãæåã¯å¿
è¦ããã¾ããã空æååã®æ£è¦è¡¨ç¾ã§ã¯ (?:) ã¨ããæååãè¿ãã¾ãã
ä¾
>source ã®ä½¿ç¨
const regex = /fooBar/gi;
console.log(regex.source); // "fooBar", /.../ 㨠"gi" ã¯å«ã¾ãã¾ããã
ç©ºã®æ£è¦è¡¨ç¾ã¨ã¨ã¹ã±ã¼ã
new RegExp().source; // "(?:)"
new RegExp("\n").source === "\\n"; // trueãES5 以é
仿§æ¸
| Specification |
|---|
| ECMAScript® 2027 Language Specification> # sec-get-regexp.prototype.source> |