Đối với một số lý do hai regex hành động theo cùng một cách:thoát dot trong một phạm vi regex
"43\\gf..--.65".replace(/[^\d.-]/g, ""); // 43..--.65
"43\\gf..--.65".replace(/[^\d\.-]/g, ""); // 43..--.65
Trong regex đầu tiên tôi không thoát khỏi dấu chấm (.
) trong khi trong lần thứ hai regex tôi làm (\.
).
Sự khác biệt và lý do khiến chúng hoạt động như thế nào?
và dấu trừ ('-') cần được thoát chỉ khi nó ở giữa phạm vi? – gdoron
Bởi vì nó làm việc tốt với tôi (actully không có vấn đề mà tôi đặt nó làm việc tốt.?!) – gdoron
Nếu bạn muốn kết hợp dấu gạch nối, thêm nó ngay lập tức sau khi mở khung vuông, ví dụ: [-A-Z]. Nếu không thì dấu gạch ngang chỉ định phạm vi. Nó hoạt động trong trường hợp của bạn có lẽ chỉ vì bạn không chỉ định phạm vi trong regex, nhưng tôi khuyên bạn nên làm theo tham chiếu, trong trường hợp bạn sẽ thêm phạm vi sau này. – usoban