Tôi biết rằng tôi có thể tạo ra một javascript thay thế như thế này:JavaScript tạo regex lập trình
str = str.replace(/mytarget/g, 'some value');
rằng sẽ thay thế tất cả các lần xuất hiện của các literal mytarget
. Tuy nhiên, tôi có một mảng lớn các từ/cụm từ mà tôi muốn sử dụng trong regex thay thế và regexps chỉ là các phần tử ngôn ngữ (chúng không được bao bọc trong chuỗi khi khai báo), tôi không thể tìm cách khai báo regexps lập trình trừ khi tôi mã hóa chúng. Vì vậy, nếu tôi có:
var arr=['word', 'another', 'hello'];
Tôi muốn sản xuất:
str = str.replace(/word/g, 'some value');
str = str.replace(/another/g, 'some value');
str = str.replace(/hello/g, 'some value');
Xin vui lòng gửi một ví dụ mà tôi có thể sử dụng regexps, như tôi sẽ thêm nhiều biểu thức hơn vào regexps chẳng hạn như khoảng trống, v.v. vì vậy tôi CẦN nó theo cách regexp. Cuối cùng, xin vui lòng không cung cấp sử dụng eval
, tôi chắc chắn có một cách tốt hơn.
Tại sao bạn sử dụng cụm từ thông dụng? Chỉ cần thực hiện [thay thế chuỗi đơn giản] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/replace). – Quentin
và mẫu thay thế chỉ đơn giản là một regexp với những lý do tôi đã giải thích ở trên. –