⊗jsSpREInr 96 of 294 menu

Giới thiệu về biểu thức chính quy trong JavaScript

Biểu thức chính quy là những lệnh để tìm kiếm và thay thế phức tạp (hoặc đơn giản chỉ là tìm kiếm). Chúng cho phép thực hiện những điều rất thú vị, nhưng, thật không may, lại khá khó để thành thạo.

Có một số phương thức JavaScript để làm việc với biểu thức chính quy. Chúng ta sẽ bắt đầu làm quen với chúng qua ví dụ về replace - bạn đã quen thuộc với phương thức này: tham số đầu tiên của nó nhận vào thứ cần thay thế, tham số thứ hai - thứ sẽ thay thế. Và bản thân phương thức được áp dụng vào chuỗi, nơi thực hiện việc thay thế:

'bab'.replace('a', '!'); // trả về 'b!b'

Tham số đầu tiên của phương thức này có thể truyền vào không chỉ đơn giản là một chuỗi, mà là một biểu thức chính quy. Biểu thức chính quy đại diện cho một tập hợp các lệnh, được đặt bên trong các dấu gạch chéo /. Những dấu gạch chéo này được gọi là dấu phân cách của biểu thức chính quy.

Bản thân các biểu thức chính quy bao gồm hai loại ký tự: những ký tự biểu thị chính chúng và những ký tự-lệnh, được gọi là ký tự đặc biệt.

Chữ cái và chữ số biểu thị chính chúng. Trong ví dụ tiếp theo, chúng ta sẽ sử dụng biểu thức chính quy để thay thế chữ cái 'a' bằng !:

'bab'.replace(/a/, '!'); // trả về 'b!b'

Còn dấu chấm là một ký tự đặc biệt và biểu thị bất kỳ ký tự nào. Trong ví dụ tiếp theo, chúng ta sẽ tìm chuỗi theo mẫu sau: chữ cái 'x', sau đó là bất kỳ ký tự nào, sau đó lại là chữ cái 'x':

'xax eee'.replace(/x.x/, '!'); // trả về '! eee'

Sau các dấu phân cách có thể viết các bổ ngữ - các lệnh làm thay đổi thuộc tính chung của biểu thức chính quy. Ví dụ, bổ ngữ g bật chế độ tìm kiếm và thay thế toàn cục - không có nó, regex chỉ tìm kết quả khớp đầu tiên, còn với nó - tất cả các kết quả khớp.

Trong ví dụ tiếp theo không có bổ ngữ g và regex sẽ chỉ tìm thấy kết quả khớp đầu tiên:

'aab'.replace(/a/, '!'); // trả về '!ab'

Và bây giờ regex sẽ tìm thấy tất cả các kết quả khớp:

'aab'.replace(/a/g, '!'); // trả về '!!b'

Cho chuỗi:

let str = 'ahb acb aeb aeeb adcb axeb';

Viết regex tìm các chuỗi 'ahb', 'acb', 'aeb' theo mẫu: chữ cái 'a', bất kỳ ký tự nào, chữ cái 'b'.

Cho chuỗi:

let str = 'aba aca aea abba adca abea';

Viết regex tìm các chuỗi 'abba', 'adca', 'abea' theo mẫu: chữ cái 'a', 2 ký tự bất kỳ, chữ cái 'a'.

Cho chuỗi:

let str = 'aba aca aea abba adca abea';

Viết regex tìm các chuỗi 'abba''abea', mà không bắt 'adca'.

Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối