RegExp.prototype.source
Базовая версия Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с июля 2015 года.
Свойство-аксессор source экземпляров RegExp возвращает строку, содержащую исходный текст этого регулярного выражения, без двух косых черт по обеим сторонам или каких-либо флагов.
Попробовать
const regex = /fooBar/gi;
console.log(regex.source);
// Expected output: "fooBar"
console.log(new RegExp().source);
// Expected output: "(?:)"
console.log(new RegExp("\n").source === "\\n");
// Expected output: true (starting with ES5)
// Due to escaping
Описание
Концептуально, свойство source — это текст между двумя косыми чертами в литерале регулярного выражения. Язык требует, чтобы возвращаемая строка была должным образом экранирована, чтобы при объединении source с косой чертой с обоих концов образовывался синтаксически корректный литерал регулярного выражения. Например, для new RegExp("/"), source является \\/, потому что, если он генерирует /, то полученный литерал становится ///, который является строчным комментарием. Аналогично, все разделители строк будут экранированы, поскольку символы разделителей строк нарушат целостность литерала регулярного выражения. Для других символов требований нет, если только результат является синтаксически корректным. Для пустых регулярных выражений возвращается строка (?:).
Примеры
Использование source
const regex = /fooBar/gi; console.log(regex.source); // "fooBar", doesn't contain /.../ and "gi".
Пустые регулярные выражения и экранирование
new RegExp().source; // "(?:)"
new RegExp("\n").source === "\\n"; // true, starting with ES5
Спецификации
Совместимость с браузерами
| Десктопные | Мобильные | Серверные | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on iOS | Samsung Internet | WebView Android | WebView on iOS | Bun | Deno | Node.js | |
source |
1 |
12 |
1 |
5 |
1 |
18 |
4 |
10.1 |
1 |
1.0 |
4.4 |
1 |
1.0.0 |
1.0 |
0.10.0 |
empty_regex_string |
6 |
12 |
38 |
15 |
5 |
18 |
38 |
14 |
4.2 |
1.0 |
4.4 |
4.2 |
1.0.0 |
1.0 |
0.10.0 |
escaping |
73 |
12 |
38 |
60 |
6 |
73 |
38 |
52 |
6 |
11.0 |
73 |
6 |
1.0.0 |
1.0 |
12.0.0 |
prototype_accessor |
48 |
12 |
41 |
35 |
1.3 |
48 |
41 |
35 |
1 |
5.0 |
48 |
1 |
1.0.0 |
1.0 |
6.0.0 |
См. также
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/source