Python thay thế tất cả regex

Python có một mô-đun biểu thức chính quy tích hợp có tên là re có nhiều hàm khác nhau cho mẫu, ký tự, ký tự đặc biệt hoặc biểu thức

biểu thức chính quy là gì?

Biểu thức chính quy là một chuỗi ký tự tạo thành một mẫu tìm kiếm. Sử dụng biểu thức chính quy để kiểm tra xem một chuỗi có chứa mẫu tìm kiếm đã chỉ định trong Python hay không

Lợi ích của regex trong Python là gì?

Có nhiều lợi ích khi sử dụng biểu thức chính quy

  1. Tìm một chuỗi cụ thể trong phần văn bản lớn hơn
  2. Xác thực rằng một chuỗi chứa một định dạng cụ thể
  3. Thay thế văn bản tại các vị trí phù hợp
  4. Tách các chuỗi trong các kết quả khớp để tạo danh sách, mảng, v.v.

Python regex thay thế

Để thay thế một chuỗi khớp với biểu thức chính quy thay vì khớp hoàn hảo, hãy sử dụng Python re. phụ[].  Việc tái. sub[] là một phương thức tích hợp chấp nhận tối đa năm đối số và trả về các chuỗi đã thay thế.

Python regex replace là một cách tiếp cận để thực hiện thao tác tìm kiếm và thay thế đơn giản trên chuỗi. Nó có thể sửa đổi văn bản, tìm kiếm các mẫu và thực hiện các tác vụ xử lý văn bản khác.

Sử dụng phương thức thay thế chuỗi [] để thay thế chuỗi;

Làm thế nào để sử dụng lại. phương thức sub[] trong Python

Trăn lại. hàm sub[] trong mô-đun re có thể thay thế các chuỗi con. Để sử dụng phương thức sub[], trước tiên, chúng ta phải nhập module re, sau đó chúng ta mới có thể sử dụng phương thức sub[] của nó.

cú pháp

re.sub[pattern, repl, string, count=0, flags=0]

Tìm kiếm và thay thế đơn giản trong Python

import re

str = 'aaa@gmail.com'

print[re.sub['[a-z]*@', 'ApD@', str]]

Trong ví dụ trên, chúng tôi cố gắng thay thế các chữ thường từ a đến z trước ký tự @

Xem đầu ra

ApD@gmail.com

Từ đầu ra, chúng tôi có thể thấy rằng chúng tôi đã cập nhật thành công các địa chỉ email

Chỉ định số lượng

Chúng ta có thể truyền tham số đếm trong phương thức regex sub[]. Tôit gợi ý cho trình biên dịch rằng vui lòng không thay thế nhiều hơn giá trị của số đếm.

import re

str = 'aaa@gmail.com'

print[re.sub['[a-z]*@', 'ApD@', str, 2]]

đầu ra

ApD@gmail.com ApD@hotmail.com ccc@apple.com

Đầu ra cho thấy rằng nó chỉ thay thế hai địa chỉ email và địa chỉ cuối cùng là như vậy

Thay thế nhiều chuỗi con bằng chuỗi chính xác

Bạn có thể đính kèm chuỗi với [ ] để khớp với bất kỳ ký tự đơn nào. It can be used to replace multiple different characters with the same string

import re

str = 'aaa@gmail.com bbb@hotmail.com ccc@apple.com'

print[re.sub['[a-z]*@', 'info@', str]]

đầu ra

info@gmail.com info@hotmail.com info@apple.com

Bạn có thể thấy rằng nó thay thế cùng một chuỗi bằng nhiều chuỗi con

Nếu. phân định các mẫu, nó khớp với bất kỳ mẫu nào. Ngoài ra, có thể sử dụng các ký tự đặc biệt của biểu thức chính quy cho mỗi mẫu, nhưng cũng không sao ngay cả khi chuỗi thông thường được chỉ định

Nó có thể được sử dụng để thay thế nhiều chuỗi khác nhau bằng cùng một chuỗi

import re

str = 'aaa@gmail.com bbb@hotmail.com ccc@apple.com'

print[re.sub['gmail|hotmail|apple', 'appdividend', str]]

Trong đoạn mã trên, chúng ta có một chuỗi bao gồm ba chuỗi con

Chúng tôi đang thay thế bất kỳ chuỗi con nào trong ba chuỗi con bằng cổ tức ứng dụng. Nó sẽ thay thế tất cả nếu nó tìm thấy tất cả; . Nếu nó tìm thấy một trận đấu, thì nó sẽ thay thế một chuỗi con

đầu ra

________số 8

Bạn có thể thấy rằng tất cả các chuỗi con được thay thế bằng appdividend

Hãy xem một kịch bản trong đó chỉ có một mẫu phù hợp

import re

str = 'aaa@gmail.com bbb@amazon.com ccc@walmart.com'

print[re.sub['gmail|hotmail|apple', 'appdividend', str]]

đầu ra

import re

str = 'aaa@gmail.com'

print[re.sub['[a-z]*@', 'ApD@', str]]
0

Bạn có thể thấy rằng bbb@amazon. com và ccc@walmart. com không thay đổi

Chỉ aaa@gmail. com được thay thế bằng aaa@appdividend. com

Thay thế một chuỗi bằng phần phù hợp

Để thay thế một chuỗi con bằng phần khớp, hãy sử dụng chuỗi khớp với phần được bao trong [] trong chuỗi mới

import re

str = 'aaa@gmail.com'

print[re.sub['[a-z]*@', 'ApD@', str]]
1

đầu ra

import re

str = 'aaa@gmail.com'

print[re.sub['[a-z]*@', 'ApD@', str]]
2

\1 tương ứng với phần khớp với []. Nếu có nhiều [ ], hãy sử dụng chúng như \2, \3 …

Điều quan trọng là phải thoát \ like \\1 nếu đó là một chuỗi thông thường được bao quanh bởi dấu ” hoặc ” “, nhưng nếu đó là chuỗi thô có r ở đầu như r”, bạn có thể viết \1

Thay thế một chuỗi theo vị trí bằng một lát cắt

Không có phương pháp để xác định vị trí và thay thế nó;

import re

str = 'aaa@gmail.com'

print[re.sub['[a-z]*@', 'ApD@', str]]
3

đầu ra

import re

str = 'aaa@gmail.com'

print[re.sub['[a-z]*@', 'ApD@', str]]
4

Trong ví dụ mã trên, bạn có thể thấy rằng chúng tôi đã thêm một chuỗi con giữa các chỉ mục chuỗi 4 đến 7

Sự kết luận

Cách tốt nhất để thực hiện thay thế regex trong Python, hãy sử dụng lại. phương thức phụ[]

Đó là nó cho hướng dẫn này

Facebook

Twitter

Pinterest

WhatsApp

Bài viết trước Cách thay thế một chuỗi trong Python

Bài viết tiếp theo Cách chuyển đổi Chuỗi thành Hex trong Python

kranal

https. //appdividend. com/

Krunal Lathiya là một kỹ sư công nghệ thông tin. Theo chuyên môn, anh ấy là một nhà phát triển web có kiến ​​thức về nhiều nền tảng back-end [e. g. , PHP, Nút. js, Python] và các khung JavaScript giao diện người dùng [e. g. , Góc, Phản ứng và Vue]

Replace[] có thay thế tất cả các phiên bản Python không?

replace[] chấp nhận. Theo mặc định,. replace[] sẽ thay thế tất cả các phiên bản của chuỗi con . Tuy nhiên, bạn có thể sử dụng số đếm để chỉ định số lần xuất hiện mà bạn muốn thay thế.

Tôi có thể sử dụng regex để thay thế không?

Tìm và thay thế văn bản bằng biểu thức chính quy Khi bạn muốn tìm kiếm và thay thế các mẫu văn bản cụ thể, hãy sử dụng biểu thức chính quy . Họ có thể giúp bạn khớp mẫu, phân tích cú pháp, lọc kết quả, v.v. Khi bạn học cú pháp regex, bạn có thể sử dụng nó cho hầu hết mọi ngôn ngữ.

Sub[] trong Python là gì?

Lại. hàm sub[] là viết tắt của một chuỗi con và trả về một chuỗi có các giá trị được thay thế . Có thể thay thế nhiều phần tử bằng danh sách khi chúng ta sử dụng chức năng này.

Chủ Đề