Biểu thức chuỗi trong python

Regex là các mẫu [pattern] thay vì các chuỗi cụ thể có thể được sử dụng để tìm/thay thế [Find/Replace]. Là một công cụ cực mạnh để xử lý chuỗi líp trong Php, javascript… Ví dụ. Khi kiểm tra tính hợp lệ của email hoặc số điện thoại, điều bạn nghĩ đến đầu tiên chính là regex. Regex là viết tắt của Biểu thức chính quy, tên thuần Việt là biểu thức chính quy

2. Các cú pháp cơ bản Biểu thức chính quy

Nói chung là Regex còn nhiều ứng dụng hữu ích khác, tóm tắt lại một chút là hiểu đơn giản thì regex là một chuỗi ký tự miêu tả một bộ chuỗi ki tự khác, theo các quy tắc và cú pháp nhất định

Ảnh. Mã chủ

Không phải lúc nào cũng nên sử dụng regex, mỗi ngôn ngữ sẽ có cú pháp áp dụng regex khác nhau, nhưng không sao vai trò của ngôn ngữ ở đây không quan trọng lắm

  Học Biểu thức chính quy và cuộc đời bạn sẽ bớt khổ [Cập nhật v2. 2]

3. Regex application

Một số ví dụ nhẹ nhàng cho Php hoặc Javascript nhé, như đã nói vai trò của ngôn ngữ không quan trọng lắm, 1 chút google sẽ ra các đoạn code mình cần dùng

Nhắc lại. Nguyên tắc hoạt động của biểu thức RegEx do đó khớp dựa trên mẫu [mẫu], mẫu được xây dựng từ các quy tắc cơ bản của biểu thức RegEx. Và để bạn nắm rõ biểu thức chính quy là gì thì có một hàm xử lý Biểu thức chính quy trong php đó là hàm preg_match, sau đó đưa ra một vài ví dụ nhỏ để bạn thực hiện trước khi tìm hiểu các phần nâng cao hơn

3. 1 Hàm Preg_match trong php

Cú pháp là.

array
  0 => string '123' [length=3]
2

  • array
      0 => string '123' [length=3]
    3 là chuỗi Mẫu Regex
  • array
      0 => string '123' [length=3]
    0 là chuỗi nguồn để chúng ta so khớp với 
    array
      0 => string '123' [length=3]
    3
  • array
      0 => string '123' [length=3]
    2 là danh sách kết quả trả về đúng khi khớp 2 chuỗi trên

vd 1. check the a string is number

if [preg_match['/^[0-9]+$/', '123', $matches]]{
    var_dump[$matches];
}

Kết quả

array
  0 => string '123' [length=3]

VĐ 2. Check tra a string are normal character

if [preg_match['/^[a-z]+$/', 'topdev', $matches]]{
    var_dump[$matches];
}

Kết quả

array
  0 => string 'topdev' [length=6]

VĐ 3. Check tra a string as a characters

if [preg_match['/^[A-Z]+$/', 'TOPDEV', $matches]]{
    var_dump[$matches];
}

Kết quả

array
  0 => string 'TOPDEV' [length=6]

3. 2 Tạo 1 Biểu thức chính quy trong JS

Trong Javascript thì Biểu thức chính quy là một chuỗi nhưng nó không được bao quanh bởi cặp dấu nháy đơn 

array
  0 => string '123' [length=3]
3 hoặc nháy kép 
array
  0 => string '123' [length=3]
4 mà nó được bao quanh bởi cặp dấu 
array
  0 => string '123' [length=3]
5. Có 2 cách tạo

cú pháp.

array
  0 => string '123' [length=3]
6

VD

array
  0 => string '123' [length=3]
2

Hoặc sử dụng dấu hiệu

array
  0 => string '123' [length=3]
5

cú pháp.

array
  0 => string '123' [length=3]
8

in which

  • array
      0 => string '123' [length=3]
    9 là chuỗi Biểu thức chính quy
  • if [preg_match['/^[a-z]+$/', 'topdev', $matches]]{
        var_dump[$matches];
    }
    0 là thông số cấu hình cho mẫu chuỗi và nó có các giá trị
    • if [preg_match['/^[a-z]+$/', 'topdev', $matches]]{
          var_dump[$matches];
      }
      1. so khớp không quan tâm đến chữ hoa chữ thường
    • if [preg_match['/^[a-z]+$/', 'topdev', $matches]]{
          var_dump[$matches];
      }
      2. somatch toàn bộ chuỗi cần tìm
    • if [preg_match['/^[a-z]+$/', 'topdev', $matches]]{
          var_dump[$matches];
      }
      3. somatch luôn cả dữ liệu xuống dòng [multiline]

Ví dụ. Chuỗi kiểm tra mẫu có tồn tại tại chữ “topdev” không, không phân tích chữ hoa chữ thường và tìm toàn bộ tài liệu

if [preg_match['/^[0-9]+$/', '123', $matches]]{
    var_dump[$matches];
}
0
  • mẫu là topdev
  • cờ là igm

4. Cách viết Regex chi tiết

Trong Regex có vài cái khác là điển hình và được sử dụng rất nhiều bao gồm so khớp chuỗi, tách chuỗi, tìm kiếm trong chuỗi, thay thế chuỗi… Các cách sử dụng chi tiết Regex trong Javascript bạn có thể tham khảo chi tiết tại

Một biểu thức chính quy là một dãy ký tự đặc biệt giúp bạn khớp hoặc tìm các chuỗi khác hoặc tập hợp các chuỗi, bằng cách sử dụng một cú pháp riêng trong một mẫu. Biểu thức chính quy được sử dụng phổ biến trong thế giới UNIX

re Module cung cấp sự hỗ trợ đầy đủ các Biểu thức chính quy giống như Perl trong Python. Mô-đun này tạo ngoại lệ là lại. lỗi nếu xảy ra lỗi trong khi biên dịch hoặc khi sử dụng Biểu thức chính quy

Hai hàm quan trọng sẽ được sử dụng để xử lý Biểu thức chính quy, đó là

Hàm match trong Python

Hàm này cố gắng so khớp mẫu với chuỗi với tùy chọn cờ. Dưới đây là cú pháp cho chức năng này

if [preg_match['/^[0-9]+$/', '123', $matches]]{
    var_dump[$matches];
}
1

Chi tiết về tham số

  • mẫu. This is Regular Expression to be somatch
  • chuỗi. This is string, which will be search for somatch pattern at the head of string
  • cờ. Bạn có thể xác định các cờ khác nhau bằng cách sử dụng toán tử. Công cụ sửa đổi này sẽ được liệt kê ở bảng bên dưới

hàm lại. khớp trả về một đối tượng khớp nếu thành công và trả về Không nếu thất bại. Chúng ta sử dụng hàm group[num] hoặc groups[] của đối tượng khớp để lấy biểu thức đã được so khớp [kết nối]

  • Nhóm phương thức [num=0] trả về toàn bộ kết nối [hoặc num phân nhóm cụ thể]
  • Phương thức nhóm[] trả về tất cả các phân nhóm kết nối trong một Tuple [để trống nếu không có kết nối hoặc so khớp nào]

Ví dụ

if [preg_match['/^[0-9]+$/', '123', $matches]]{
    var_dump[$matches];
}
2

Kết quả là

if [preg_match['/^[0-9]+$/', '123', $matches]]{
    var_dump[$matches];
}
3

Hàm search trong Python

Hàm này tìm kiếm sự xuất hiện đầu tiên của mẫu bên trong chuỗi với các cờ tùy chọn. Dưới đây là cú pháp tìm kiếm hàm

if [preg_match['/^[0-9]+$/', '123', $matches]]{
    var_dump[$matches];
}
4

Các tham số được giải thích như trong hàm match

hàm lại. tìm kiếm trả về một đối tượng khớp nếu thành công và trả về Không nếu thất bại. Chúng ta sử dụng hàm group[num] hoặc groups[] của đối tượng khớp để lấy biểu thức đã được so khớp [kết nối]. This function has been display on

Ví dụ

if [preg_match['/^[0-9]+$/', '123', $matches]]{
    var_dump[$matches];
}
5

Kết quả là

if [preg_match['/^[0-9]+$/', '123', $matches]]{
    var_dump[$matches];
}
6

Phân biệt khớp và tìm kiếm trong Python

Python cung cấp hai hoạt động cơ sở dựa trên Reguler Expression, đó là. match để kiểm tra chỉ một kết nối ở phần đầu của chuỗi, trong khi tìm kiếm tìm kiếm một kết nối ở bất cứ đâu trong chuỗi

Ví dụ

if [preg_match['/^[0-9]+$/', '123', $matches]]{
    var_dump[$matches];
}
7

Kết quả là

if [preg_match['/^[0-9]+$/', '123', $matches]]{
    var_dump[$matches];
}
8

Search search and instead in Python

Một trong các phương thức quan trọng nhất được sử dụng với Biểu thức chính quy là phụ. Dưới đây là cú pháp

if [preg_match['/^[0-9]+$/', '123', $matches]]{
    var_dump[$matches];
}
9

Phương thức này thay thế tất cả sự xuất hiện của mẫu trong chuỗi với thay thế. Phương thức này sẽ thay thế tất cả sự xuất hiện trừ khi bạn cung cấp tham số tối đa. Phương thức trả về chuỗi này đã được sửa đổi

Ví dụ

array
  0 => string '123' [length=3]
0

Kết quả là

if [preg_match['/^[0-9]+$/', '123', $matches]]{
    var_dump[$matches];
}
20

Công cụ sửa đổi danh sách trong Python

Các công cụ sửa đổi được liệt kê dưới đây có thể được sử dụng như cờ tùy chọn cho khớp hàm và tìm kiếm. Bạn có thể cung cấp nhiều công cụ sửa đổi bằng cách sử dụng toán tử

ModifierMiêu tả. I THỰC HIỆN SỰ KẾT NỐI HOẶC so khớp không phân biệt kiểu chữ. Dịch các từ theo Locale hiện tại. MLàm cho $ kết nối với phần cuối của một dòng [không chỉ kết nối phần cuối của chuỗi] và làm cho ^ kết nối với phần đầu của bất cứ dòng nào [không chỉ kết nối phần đầu của chuỗi] lại. SLàm cho dấu chấm [dấu chấm] kết nối với bất kỳ ký tự nào, bao gồm một dòng mới [dòng mới] lại. UThông dịch các chữ cái theo bộ ký tự Unicode. Gắn cờ ảnh hưởng này tới hành vi của \w, \W, \b, \Bre. XCho phép cú pháp "cuter" biểu thức chính quy. Nó bỏ qua các khoảng trắng trống [ ngoại trừ bên trong một [] hoặc khi bị tránh bởi \] và coi # dưới dạng một nhận xét

Các Pattern trong Python

Ngoại trừ các ký tự điều khiển, [+ ?. * ^ $ [ ] [ ] { }. ], thì tất cả các ký tự còn lại sẽ kết nối với chính chúng. Bạn có thể tránh một ký tự điều khiển bằng cách đặt trước một dấu hiệu

Chủ Đề