RegExp.prototype.source
source
是 RegExp
实例的访问器属性,它返回一个字符串,其中包含此正则表达式的源文本,但不包括两侧的两个正斜杠或任何标志。
试一试
描述
从概念上讲,source
属性是正则表达式文字中两个正斜杠之间的文本。语言要求返回的字符串正确转义,以便当 source
在两端与正斜杠连接时,它将形成一个可解析的正则表达式文字。例如,对于 new RegExp("/")
,source
为 \\/
,因为如果它生成 /
,则结果文字将变为 ///
,这是一个行注释。类似地,所有 行终止符 都将被转义,因为行终止符字符将破坏正则表达式文字。对于其他字符,只要结果可解析,就没有要求。对于空正则表达式,将返回字符串 (?:)
。
示例
使用 source
js
const regex = /fooBar/gi;
console.log(regex.source); // "fooBar", doesn't contain /.../ and "gi".
空正则表达式和转义
js
new RegExp().source; // "(?:)"
new RegExp("\n").source === "\\n"; // true, starting with ES5
规范
规范 |
---|
ECMAScript 语言规范 # sec-get-regexp.prototype.source |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。