Hướng dẫn javascript regex remove string - javascript regex loại bỏ chuỗi
Chia chuỗi thành một mảng đa chiều bằng cách sử dụng các dấu phân cách 4 và 5. Sau đó, bạn có thể tắt ID, vì đây là mục đầu tiên trong mảng và kết hợp tất cả lại với nhau: Show
Hoặc, lấy phần phụ sau 5:
Hoặc, sửa chữa RegEXP của bạn để tính toán biến thể độ dài khoảng trắng:
Nhưng, RegEXP này sẽ chỉ hoạt động miễn là luôn có chính xác 6 chữ số trong ID và không bao giờ 6 chữ số trước 8 ở nơi khác. Ví dụ: nếu cần có một giá trị cho 9 trên 100000 trở lên, RegEXP của bạn cũng sẽ loại bỏ điều đó.Một biểu thức chính quy tốt hơn sẽ có bất kỳ số lượng chữ số nào (nhiều hơn hoặc ít hơn 6) và sẽ chỉ khớp với nó nếu đó là mục đầu tiên hoặc theo dõi 0: Sự xuất hiện của /d(b+)d/g trong 2 lệnh trên là những đối tượng biểu thức chính quy khác nhau và vì thế có những giá trị khác nhau cho thuộc tính lastIndex. Nếu bạn cần truy cập những thuộc tính của một biểu thức chính quy, bạn nên gán nó tới một biến.Sử dụng nhiều dấu ngoặc tròn Sử dụng nhiều ngoặc tròn trong một biểu thức chính quy cho ta nhiều kết quả so khớp tương ứng được nhớ. Cho ví dụ, /a(b)c/ khớp với 'abc' và nhớ 'b'. Để gọi lại những kết quả so khớp, sử dụng những phần tử của mảng [1]..., [n].Số lượng các chuỗi con trong những ngoặc tròn là không giới hạn. Mảng trả về giữ lại tất cả mọi thứ được tìm thấy.
III. Cách viết một mẫu biểu thức chính quyMột mẫu biểu thức chính quy là một tập các kí tự thường, như /abc/, hay một tập kết hợp cả kí tự thường và kí tự đặc biệt như /ab*c/ hoặc /Chapter (\d+).\d*/ . Trong ví dụ cuối có chứa cả các dấu ngoặc đơn( () )được sử dụng như các thiết bị nhớ, tức là các mẫu trong phần 2 này sau khi được tìm kiếm có thể được nhớ lại để sử dụng cho các lần sau./abc/, hay một tập kết hợp cả kí tự thường và kí tự đặc biệt như /ab*c/ hoặc /Chapter (\d+).\d*/ . Trong ví dụ cuối có chứa cả các dấu ngoặc đơn( () )được sử dụng như các thiết bị nhớ, tức là các mẫu trong phần 2 này sau khi được tìm kiếm có thể được nhớ lại để sử dụng cho các lần sau.1. Sử dụng mẫu đơn giản Các mẫu đơn giản là các mẫu có thể được xây dựng từ các kí tự có thể thể tìm kiếm một cách trực tiếp. Ví dụ: mẫu 3 sẽ tìm các các đoạn 4 theo đúng thứ tự đó trong các chuỗi. Mẫu này sẽ khớp được với "Hi, My name is abc." và "I am from abcdef city.", vì cả 2 chuỗi này đều chứa đoạn 'abc'. Còn với chuỗi 5, nó sẽ không khớp vì chuỗi này không chứa abc theo đúng thứ tự, mà chỉ chứa ab c.2. Sử dụng các kí tự đặc biệt Các mẫu có thể chứa các kí tự đặc biệt cho các mục đích tìm kiếm nâng cao mà tìm kiếm trực tiếp sẽ khó khăn. Thí dụ như tìm một đoạn chứa một hoặc nhiều hơn một kí tự b, hay tìm một hoặc nhiều kí tự dấu cách (while space). Ví dụ: mẫu 3 sẽ tìm các các đoạn 4 theo đúng thứ tự đó trong các chuỗi. Mẫu này sẽ khớp được với "Hi, My name is abc." và "I am from abcdef city.", vì cả 2 chuỗi này đều chứa đoạn 'abc'. Còn với chuỗi 5, nó sẽ không khớp vì chuỗi này không chứa abc theo đúng thứ tự, mà chỉ chứa ab c./ab*c/ có thể tìm các đoạn có chứa: một kí tự ' 6, theo sau là không có hoặc có một hoặc có nhiều kí tự 7, cuối cùng là một kí tự 8 như chuỗi 9 sẽ được khớp với xâu con 0.2. Sử dụng các kí tự đặc biệt Các mẫu có thể chứa các kí tự đặc biệt cho các mục đích tìm kiếm nâng cao mà tìm kiếm trực tiếp sẽ khó khăn. Thí dụ như tìm một đoạn chứa một hoặc nhiều hơn một kí tự b, hay tìm một hoặc nhiều kí tự dấu cách (while space). mẫu /ab*c/ có thể tìm các đoạn có chứa: một kí tự ' 6, theo sau là không có hoặc có một hoặc có nhiều kí tự 7, cuối cùng là một kí tự 8 như chuỗi 9 sẽ được khớp với xâu con 0.Ví dụ: mẫu 3 sẽ tìm các các đoạn 4 theo đúng thứ tự đó trong các chuỗi. Mẫu này sẽ khớp được với "Hi, My name is abc." và "I am from abcdef city.", vì cả 2 chuỗi này đều chứa đoạn 'abc'. Còn với chuỗi 5, nó sẽ không khớp vì chuỗi này không chứa abc theo đúng thứ tự, mà chỉ chứa ab c.2. Sử dụng các kí tự đặc biệt Các mẫu có thể chứa các kí tự đặc biệt cho các mục đích tìm kiếm nâng cao mà tìm kiếm trực tiếp sẽ khó khăn. Thí dụ như tìm một đoạn chứa một hoặc nhiều hơn một kí tự b, hay tìm một hoặc nhiều kí tự dấu cách (while space). mẫu /ab*c/ có thể tìm các đoạn có chứa: một kí tự 'var y = x.replace(/\d{6}\s+~\s/g, ""); 6, theo sau là không có hoặc có một hoặc có nhiều kí tự var y = x.replace(/\d{6}\s+~\s/g, ""); 7, cuối cùng là một kí tự var y = x.replace(/\d{6}\s+~\s/g, ""); 8 như chuỗi var y = x.replace(/\d{6}\s+~\s/g, ""); 9 sẽ được khớp với xâu con var y = x.replace(/(^|\|\s+)\d+\s+~\s+/g, "$1"); 0.Bảng dưới đây mô tả đầy đủ các kí tự đặc biệt có thể dùng với biểu thức chính quy. 3. Sử dụng ngoặc tròn
Ngoặc tròn bao quanh bất kỳ phần nào của biểu thức chính quy sẽ khiến phần kết quả so khớp được nhớ. Mỗi lần nhớ, chuỗi con có thể được gọi lại để sử dụng, mô tả trong 1.
mẫu /Chapter (\d+).\d*/ khớp đúng với 'Chapter ' theo sau bởi một hoặc nhiều kí tự số, sau nữa là một dấu chấm thập phân, cuối cùng có thể là 0 hoặc nhiều kí tự số. Bên cạnh đó, dấu ngoặc tròn được sử dụng để nhớ một hoặc nhiều kí tự số đầu tiên được khớp.
Mẫu này được tìm thấy trong chuỗi "Open Chapter 4.3, paragraph 6", nhớ '4' nhưng không được tìm thấy trong chuỗi "Chapter 3 and 4", bởi vì chuỗi đó không có dấu chấm sau kí tự số '3'. Để so khớp một chuỗi con không nhớ, đặt ?: ở vị trí đầu tiên trong ngoặc. Ví dụ, (?:\d+) khớp với một hoặc nhiều kí tự số nhưng không nhớ kết quả so khớp.
IV. Làm việc với biểu thức chính quy 0Biểu thức chính quy được sử dụng với phương thức 2 và 3 của lớp 1 hoặc phương thức 5 và 6 của 7. Những phương thức này được giải thích chi tiết trong 8. 1Như ví dụ dưới đây, phương thức exec được dùng để tìm chuỗi phù hợp theo mẫu so khớp. 2Nếu bạn không cần truy cập những thuộc tính khác của biểu thức chính quy, sử dụng cách sau: Nếu bạn muốn khởi tạo một biểu thức chính quy từ một chuỗi: Với những mã này, so khớp thành công và trả về một mảng kết quả với những thuộc tính được liệt kê trong bảng dưới đây. Như dạng thứ 2 của ví dụ trên, bạn có thể dùng một biểu thức chính quy được khởi tạo mà không gán nó tới một biến. Tuy nhiên, nếu bạn làm thế, mỗi lần xuất hiện là một biểu thức chính quy mới. Vì lí do này, nếu bạn không gán nó vào một biến, bạn sẽ không thể truy cập các thuộc tính của biểu thức chính quy đó nữa. Ví dụ bạn có đoạn script sau: Ví dụ: mẫu 3 sẽ tìm các các đoạn 4 theo đúng thứ tự đó trong các chuỗi. Mẫu này sẽ khớp được với "Hi, My name is abc." và "I am from abcdef city.", vì cả 2 chuỗi này đều chứa đoạn 'abc'. Còn với chuỗi 5, nó sẽ không khớp vì chuỗi này không chứa abc theo đúng thứ tự, mà chỉ chứa ab c. 3Kết quả hiển thị là: "Smith, John". Bài viết được dịch và tham khảo từ đây |