RegExp.prototype.toString()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Phương thức toString() của các instance RegExp trả về một chuỗi biểu diễn biểu thức chính quy này.

Try it

console.log(new RegExp("a+b+c"));
// Expected output: /a+b+c/

console.log(new RegExp("a+b+c").toString());
// Expected output: "/a+b+c/"

console.log(new RegExp("bar", "g").toString());
// Expected output: "/bar/g"

console.log(new RegExp("\n", "g").toString());
// Expected output: "/\n/g"

console.log(new RegExp("\\n", "g").toString());
// Expected output: "/\n/g"

Cú pháp

js
toString()

Tham số

Không có.

Giá trị trả về

Một chuỗi biểu diễn đối tượng đã cho.

Mô tả

Đối tượng RegExp ghi đè phương thức toString() của đối tượng Object; nó không kế thừa Object.prototype.toString(). Đối với các đối tượng RegExp, phương thức toString() trả về biểu diễn chuỗi của biểu thức chính quy.

Trong thực tế, nó đọc các thuộc tính sourceflags của regex và trả về chuỗi theo dạng /source/flags. Giá trị trả về của toString() được đảm bảo là một literal regex có thể phân tích cú pháp được, mặc dù nó có thể không phải là đúng cùng văn bản với những gì ban đầu được chỉ định cho regex (ví dụ: các cờ có thể được sắp xếp lại).

Ví dụ

Sử dụng toString()

Ví dụ sau hiển thị giá trị chuỗi của đối tượng RegExp:

js
const myExp = new RegExp("a+b+c");
console.log(myExp.toString()); // '/a+b+c/'

const foo = new RegExp("bar", "g");
console.log(foo.toString()); // '/bar/g'

Biểu thức chính quy rỗng và escape

toString() truy cập thuộc tính source, một biểu thức chính quy rỗng trả về chuỗi "/(?:)/", và các ký tự kết thúc dòng như \n được escape. Điều này làm cho giá trị trả về luôn là một literal regex hợp lệ.

js
new RegExp().toString(); // "/(?:)/"

new RegExp("\n").toString() === "/\\n/"; // true

Đặc tả kỹ thuật

Thông số kỹ thuật
ECMAScript® 2027 Language Specification
# sec-regexp.prototype.tostring

Tương thích trình duyệt

Xem thêm