Báo cáo Phương pháp xây dựng phần mềm: Regular expression

6 63 0
Báo cáo Phương pháp xây dựng phần mềm: Regular expression

Đang tải... (xem toàn văn)

Thông tin tài liệu

Báo cáo Phương pháp xây dựng phần mềm Regular expression giới thiệu đến các bạn những nội dung về regular expression, khái niệm regular expression, cú pháp regular expression, group và lookaround,... Với các bạn đang học chuyên ngành Công nghệ thông tin thì đây là tài liệu tham khảo hữu ích.

PHƯƠNG PHÁP XÂY DỰNG PHẦN MỀM – REGULAR EXPRESSION BÁO CÁO MƠN: PHƯƠNG PHÁP XÂY DỰNG PHẦN MỀM CHỦ ĐỀ: REGULAR EXPRESSION Thành viên nhóm: Vũ Cơng Tịnh Hà Hải Hùng Nghiêm Xn Sơn I- Giới thiệu Regular Expression II- Trong cuộc sống hằng ngày, con người chúng ta diễn đạt một ý niệm hay một việc  làm qua lời nói, cử chỉ hay bằng chữ viết. Bởi vì con người chúng ta có 5 giác quan  khác nhau và những giác quan đó giúp chúng ta hiểu được vấn đề qua sự nhìn,  nghe, ngửi, nếm, cảm thấy. Nói một cách tổng qt, trong xã hội văn minh thì  chúng ta làm việc và tiếp xúc với nhau qua cách dùng ngơn ngữ. Như người Việt  thì dùng tiếng Việt để trao đổi tin tức hay diễn đạt một vấn đề. Nhưng máy tính  thì khơng có những giác quan như con người chúng ta, vậy làm sao chúng ta có thể  trao đổi thơng tin với vi tính một cách đơn giản nhưng hiệu quả?  Theo tốn học, thành ngữ là một tập hợp của chữ viết. Mỗi chữ viết bao gồm một  chuỗi ký tự xác định (a language is a set of finite string; a string is a finite sequence  of symbols ­Appel 1998). Cho nên nếu con người có thể diễn tả một tập hợp chữ  viết bằng một phương pháp nào đó thì nó tương đương với việc diễn tả một thành  ngữ Cấu trúc đại diện hay Regular Expression (Regex) là một dạng viết ngắn gọn để  mơ tả một tập hợp chữ viết và có thể tạm dịch là một phương pháp dùng để mơ tả  hay diễn đạt thành ngữ một cách ngắn gọn và hiệu quả. Ví dụ như để diễn tả một  tập hợp chữ chỉ chứa những chữ cái và chỉ chữ cái mà thơi (a set of string contains  only alphabet), thì Regex có thể diễn tả câu nói trên ngắn gọn như sau: [a­zA­Z]* Khái niệm cơ bản - Tốn tử “or”: Được ngăn cách bởi  dấu “|”. Ví dụ: ktmpk10b|ktpmk10a thì cả  ktpmk10b và ktpmk10a đều hợp lệ - Nhóm: Sử dụng dấu ngoặc đơn “(” và “)” để nhóm các nhóm trong Regex  nhằm xác định phạm vi và khai thác dữ liệu Ví dụ: k10aktmpm|k10bktpm  và k10(a|b)ktpm là 2 Regex tương đương nhau đều  mơ tả 2 lựa chọn k10aktpm và k10bktpm PHƯƠNG PHÁP XÂY DỰNG PHẦN MỀM – REGULAR EXPRESSION - Định lượng:  Được sử dụng để định nghĩa số lượng của 1 thành phần hoặc 1  nhóm về mức độ thường xun mà thành phần đó xảy ra, thường gặp nhất là  dấu hỏi chấm, dấu cộng và dấu sao Dấu ?: Cho biết thành phần đó có thể xuất hiện 1 lần hoặc khơng xuất  hiện. Ví dụ: k10b?ktpm , như vậy dấu ? theo sau ký tự “a” nên “a” có thể có  hoặc khơng Dấu *: Cho biết thành phần có thể khơng xuất hiện hoặc xuất hiện nhiều  lần. Ví dụ: ab*c, các giá trị hợp lệ sẽ là: ac, abc, abbc, abbbc,… Dấu +: Tương tự như dấu *, tuy nhiên thành phần phải xuất hiện ít nhất 1  lần. Ví dụ: ab*c thì các giá trị hợp lệ: abc, abbc, abbbc {n}: Thành phần đứng trước lặp lại n lần. Ví dụ: a{3}b, thì giá trị hợp lệ  sẽ là: aaab {min,}:  Thành phần đứng trước lặp lại tối thiểu min lần. Ví dụ: a{3,}b thì  giá trị hợp lệ sẽ là: aaab, aaaab, aaaaab,… {min,max}: Thành phần đứng trước lặp trong khoảng từ min tới max. Ví  dụ: a{2,4}, thì giá trị hợp lệ là: aab, aaab, aaaab III- Cú pháp Cú pháp cơ bản trong Regex [ ] [^ ] ^ $ ( ) Hợp lệ với các ký tự đơn bất kỳ( trừ các dòng mới trong 1 số ứng  dụng). Ví dụ: a.b thì các giá trị hợp lệ là: aab, acb, adb, axb, a2b,… Tuy nhiên [a.b] thì sẽ được hiểu là: “a” hoặc “.” hoặc “b” Là một biểu thức hợp lệ với các ký tự đơn chứa trong dấu ngoặc  vng [] Ví dụ: [abc] hợp lệ với: hoặc a, hoặc b, hoặc c.  [a­z] sử dụng xác định phạm vi các ký tự từ a đến z. Tương tự [0­9]  phạm vi ký tự số từ 0 đến 9. Chúng ta có thể sử dụng kết hợp như  [abcx­z] đúng với "a", "b", "c", "x", "y", hoặc "z", đoạn regex kia cũng  có thể viết gọn hơn là [a­cx­z] Phép phủ định trong Regex. Ví dụ: [^abc] hợp lệ khi các ký tự đó  khơng phải là a, b hoặc c Regex này lấy vị trí hợp lệ từ đầu dòng trong 1 chuỗi Hợp lệ với vị trí cuối cùng của 1 chuỗi Được sử dụng để định nghĩa một expression con hay còn gọi là nhóm  PHƯƠNG PHÁP XÂY DỰNG PHẦN MỀM – REGULAR EXPRESSION hoặc 1 khối, có thể sử dụng để gọi lại khi cần * Cho biết thành phần có thể khơng xuất hiện hoặc xuất hiện nhiều  lần. Ví dụ: ab*c, các giá trị hợp lệ sẽ là: ac, abc, abbc, abbbc,… {min,max} Thành phần đứng trước lặp trong khoảng từ min tới max. Ví dụ:  a{2,4}, thì giá trị hợp lệ là: aab, aaab, aaaab Ví dụ: at: Các từ có 3 ký tự theo sau là “at”. Hợp lệ: cat, mat, hat, bat, tat,… [hc]at: Hợp lệ hat hoặc cat. Có thể sử dụng hat|cat cũng có ý nghĩa tương  tự [^b]at: Tất cả các từ 3 ký tự theo sau là “at” ngoại trừ “bat”, vì trong ngoặc  vng loại ký tự b [^hc]at: Tất cả các từ 3 ký tự theo sau là “at” ngoại trừ “hat” và “cat” ^[hc]at: Hợp lệ với “hat” và “cat” nếu từ đó bắt đầu ở đầu dòng, các từ  khơng bắt đầu ở đầu dòng khơng hợp lệ t.*: Hợp lệ với các từ bắt đầu bởi chữ t, theo sau có thể là bất kỳ ký tự đơn  nào hoặc khơng có. Ví dụ: t, ti, tinh,…  Các lớp ký tự Cú pháp [A­Za­z] [A­Za­z0­9] [A­Za­z0­9_] [^A­Za­z0­9_] [\t\r\n\v\f [0­9] [^0­9] [a­z] Cú pháp  Mơ tả tương  đương( n ếu có) \a Chỉ ký tự chữ cái hoa và thường. Ví dụ:  t\at, thì các từ hợp lệ: tat, tbt, tAt, tct, tdt, … Chữ cái và chữ số. Ví dụ: KTPMK[A­Za­ z0­9] Các giá trị hợp lệ: KTPM1, KTPMA,  KTPM9, KTPMB \w Chữ cái, chữ số và dấu gạch dưới \W Không là ký tự chữ cái, chữ số, dấu gạch  \s Khoảng trắng \d Chữ số \D Không là chữ số \l Chữ cái thường PHƯƠNG PHÁP XÂY DỰNG PHẦN MỀM – REGULAR EXPRESSION \S \u \x [^ \t\r\n\v\f] [A­Z] [A­Fa­f0­9] \character Khơng phải khoảng trắng Chữ cái hoa Chữ số hệ 16 Các ký tự đặc biệt khi sử dụng phải thêm  ký tự \ vào trước Ví dụ: \@, \?, \\, \/,… Group và Lookaround Cú pháp ( ) (?:abc) (?=abc) (?!abc) (?

Ngày đăng: 09/01/2020, 13:08

Tài liệu cùng người dùng

Tài liệu liên quan