Tìm dấu gạch chéo ngược trong chuỗi Python

Giả sử, bạn đã sắp xếp các cách viết địa chỉ email và bạn cũng có một danh sách hàng nghìn địa chỉ email có thể hợp lệ hoặc không hợp lệ. Vì vậy, để kiểm tra tính hợp lệ của tất cả các địa chỉ email đó, thay vì kiểm tra từng địa chỉ một, sẽ rất hữu ích nếu có một mẫu nhất định có thể xác minh tính hợp lệ của địa chỉ email đó. Biểu thức chính quy là một cách mã hóa các mẫu như vậy

Biểu thức chính quy là một dãy ký tự đặc biệt giúp khớp các chuỗi hoặc bộ chuỗi hoặc một mẫu nhất định trên các loại dữ liệu khác nhau. Cụm từ thông dụng được sử dụng trong các công cụ tìm kiếm, hộp thoại tìm kiếm và thay thế của trình xử lý văn bản và trình soạn thảo văn bản, so khớp mẫu, quét web, trích xuất dữ liệu và nhiều hơn nữa

Sử dụng regex trong Python

Trong python, mô-đun regex có thể được sử dụng bằng cách nhập mô-đun dưới dạng

Biên dịch các biểu thức chính quy

Các biểu thức chính quy cần được tuân thủ trong các đối tượng Mẫu để triển khai thêm các hoạt động khác nhau, chẳng hạn như tìm kiếm các mẫu khớp hoặc thực hiện thay thế chuỗi

lại. biên dịch [mẫu, cờ]

Ở đầu ra, chúng ta có thể thấy mẫu đó có cờ là. UNICODE là thẻ mặc định. Nó cho biết rằng văn bản hoặc mẫu đã chuyển được coi là UNICODE. UNICODE hỗ trợ một số lượng lớn ký tự so với ASCII. Có nhiều cờ khác có thể được sử dụng cho các tính năng khác nhau. Ví dụ, lại. Cờ I [hoặc Ignore-case] có thể được sử dụng để bỏ qua trường hợp chữ cái trong mẫu biểu thức chính quy

Ở đây, như chúng ta đã sử dụng lá cờ. Tôi, chúng tôi đã hướng dẫn chương trình bỏ qua trường hợp thư. Vì vậy, mẫu sẽ khớp với tất cả các trường hợp chữ cái

Các trận đấu biểu diễn

Vì chúng ta đã tạo một đối tượng mẫu nên có thể thực hiện nhiều thao tác so khớp khác nhau trên đối tượng đó. Các phương pháp khác nhau được sử dụng để thực hiện so khớp là

lại. cuộc thi đấu[]
Nếu không hoặc nhiều ký tự ở đầu chuỗi khớp với RE, nó sẽ trả về đối tượng khớp

Ở chế độ nhiều dòng, nó cũng chỉ khớp với phần đầu của chuỗi chứ không phải phần đầu của mỗi dòng

Trả về Không nếu chuỗi không khớp với mẫu

lại. Tìm kiếm[]
Quét qua chuỗi để tìm vị trí đầu tiên mà mẫu RE tạo ra kết quả khớp. Nó được sử dụng để xác định vị trí khớp ở bất kỳ đâu trong chuỗi

lại. tìm tất cả []
Trả về tất cả các mẫu khớp không chồng chéo trong chuỗi, dưới dạng danh sách các chuỗi hoặc bộ. Như chúng ta thấy find là một danh sách các chuỗi

lại. công cụ tìm[]
Trả về tất cả các kết quả khớp không trùng lặp cho mẫu trong chuỗi dưới dạng một trình vòng lặp. Như chúng ta có thể thấy rằng loại match_i ở đầu ra là một callable_iterator

Bây giờ, hãy lấy một ví dụ

Ở đây, mẫu là $1 và chúng ta có thể thấy rõ rằng văn bản mà thao tác tìm kiếm đang được thực hiện có $1 trong đó
Nhưng tại sao đầu ra là 'Không'?

Nó liên quan đến một thứ gọi là Metacharacters. Lý do không tìm thấy $1 là vì ký hiệu '$' là một ký tự phụ được sử dụng trong các biểu thức chính quy

Siêu ký tự được coi là khối xây dựng của biểu thức chính quy. Biểu thức chính quy là các mẫu được sử dụng để so khớp các tổ hợp ký tự trong chuỗi. Siêu ký tự có ý nghĩa đặc biệt trong việc tìm kiếm các mẫu và chủ yếu được sử dụng để xác định tiêu chí tìm kiếm và bất kỳ thao tác văn bản nào

Vì vậy, điều đó có nghĩa là chúng ta không thể sử dụng dấu $?

Câu trả lời là, chúng ta có thể sử dụng nó. Nhưng để làm được điều đó, chúng ta cần sử dụng một siêu ký tự khác, '\' [Dấu gạch chéo ngược] để thoát khỏi siêu ký tự

Ở đây chúng tôi đã sử dụng Dấu gạch chéo ngược trong mẫu để làm rõ rằng chúng tôi muốn thoát ký tự $ metacharacter và sử dụng nó như một ký tự đơn giản hoặc một ký tự chữ

Bây giờ hãy lấy một ví dụ khác,
Như chúng tôi đã phát hiện ra rằng sử dụng dấu gạch chéo ngược, chúng tôi có thể thoát khỏi các siêu ký tự. Nhưng trong một số trường hợp, nó có thể không hoạt động như chúng ta nghĩ.

Chúng tôi biết về các nhân vật trốn thoát. Một số ký tự thoát được sử dụng nhiều nhất là \n [dòng mới], \t [tab], \’ [dấu nháy đơn], \\ [dấu gạch chéo ngược], v.v. Để sử dụng dấu gạch chéo ngược khi chúng ta viết một cái gì đó như địa chỉ thư mục Windows trong Python, chúng ta cần sử dụng hai dấu gạch chéo ngược

[\t thêm không gian tab và \n đưa ra dòng mới. ]

Để in chuỗi như chúng tôi dự định, chúng tôi sẽ cần sử dụng '\\' hai dấu gạch chéo ngược liên tiếp

[Trong dấu gạch chéo ngược kép \\ , dấu gạch chéo ngược thứ nhất thoát khỏi dấu gạch chéo thứ hai để ngụ ý dấu gạch chéo ngược thực tế. ]

Ngoài ra còn có một cách khác. Thay vì sử dụng dấu gạch chéo ngược kép, chúng ta có thể sử dụng chuỗi thô

Chuỗi thô Python được tạo bằng cách thêm tiền tố vào một chuỗi ký tự bằng 'r'. Nó coi dấu gạch chéo ngược [\] là ký tự chữ

Hãy xem ví dụ này,

Biến 'addrs' được khởi tạo bằng một chuỗi thô. Mục đích của việc sử dụng bốn dấu gạch chéo ngược trong mẫu là để trình thông dịch diễn giải nó thành hai dấu gạch chéo ngược trước và sau đó trong hai dấu gạch chéo ngược đó, một dấu gạch chéo ngược giúp thoát khỏi dấu gạch chéo ngược kia

'\' trong Python là gì?

Trong chuỗi Python, dấu gạch chéo ngược "\" là ký tự đặc biệt, còn được gọi là ký tự "thoát" . Nó được sử dụng để đại diện cho các ký tự khoảng trắng nhất định. "\t" là một tab, "\n" là một dòng mới và "\r" là một xuống dòng.

Dấu gạch chéo ngược trong Python regex là gì?

Dấu gạch chéo ngược là một siêu ký tự trong biểu thức chính quy và được sử dụng để thoát khỏi các siêu ký tự khác . Regex \\ khớp với một dấu gạch chéo ngược. \d là một mã thông báo khớp với một chữ số. Các chuỗi Python cũng sử dụng dấu gạch chéo ngược để thoát các ký tự. Các biểu thức chính quy trên được viết dưới dạng chuỗi Python là "\\\\" và "\\w".

Chủ Đề