Tôi có regex này đơn giản để bắt dụ cuối cùng của 'chuyển sang 123' trong một hình thức (Tôi có một regex cho cơ thể chính):javascript regex không phù hợp với char cuối cùng ở dạng
currenttext=currenttext.replace(/([^>])(turn\s+to\s+)(\d+)$/i,"$1<tt ref=\"$3\">$2$3</tt>");
mà cho Ví dụ sản phẩm thay thế chuyển sang 123 ... với
<tt ref="123">turn to 123</tt>...
... ở dạng đầu vào trực tiếp. Tuy nhiên, nó chỉ hoạt động nếu có một số dạng ký tự sau số số 123, cho dù đó là một dấu xuống dòng hoặc một ký tự hiển thị, mà tôi không thể hiểu được vì phần cuối của khớp nối rõ ràng không có ký tự nào khác trước mẫu bộ nhớ cho các chữ số. Nếu không có ký tự tiếp theo, tôi nhận được kết quả này:
<tt ref="12">turn to 12</tt>3
tức là không bắt được chữ số cuối cùng hoàn toàn. Tôi đã cố gắng đặt các neo $ trong bộ nhớ nhưng không có sự khác biệt.
Trong trình duyệt nào? Nó hoạt động cho tôi, dưới nút, Chromium và Firefox. –
Tôi không thể sao chép hành vi này, nó hoạt động trong regexr: http://regexr.com?3031a –
Tôi không thể tạo lại điều này. Chạy đoạn mã sau trong bảng điều khiển javascript '" foo chuyển sang 123 ".replace (/ ([^>]) (lần lượt \ s + thành \ s +) (\ d +) $/i," $ 1 $ 2 $ 3"); 'trả về' "foo chuyển sang 123" '. Bạn có thể đăng mã đang gây ra sự cố không. –