Biểu thức chính quy [regex] có nghĩa là lấy thông tin cần thiết từ bất kỳ văn bản nào dựa trên các mẫu. Chúng cũng được sử dụng rộng rãi để thao tác với các văn bản dựa trên mẫu dẫn đến tiền xử lý văn bản và rất hữu ích trong việc triển khai các kỹ năng kỹ thuật số như Xử lý ngôn ngữ tự nhiên [NLP]
Bài viết này trình bày cách sử dụng biểu thức chính quy để thay thế các mẫu bằng cách cung cấp nhiều ví dụ trong đó mỗi ví dụ là một kịch bản riêng. Rất cần thiết phải hiểu phương pháp
22 A0000 00 0000000000 00 E0000 D00.05 của mô-đun
22 A0000 00 0000000000 00 E0000 D00.06 [biểu thức chính quy] để hiểu các giải pháp đã cho
Phương thức
22 A0000 00 0000000000 00 E0000 D00.05 thực hiện tìm kiếm toàn cầu và thay thế toàn cầu trên chuỗi đã cho. Nó được sử dụng để thay thế một mẫu cụ thể trong chuỗi. Có tổng cộng 5 đối số của hàm này
cú pháp. lại. phụ [mẫu, thay thế, chuỗi, đếm = 0, cờ = 0]
Thông số.
mẫu – mẫu sẽ được tìm kiếm và thay thế
repl – chuỗi mà mẫu sẽ được thay thế
string – the name of the variable in which the pattern is stored
count – number of characters up to which substitution will be performed
flags – it is used to modify the meaning of the regex pattern22 A0000 00 0000000000 00 E0000 D00.08 và22 A0000 00 0000000000 00 E0000 D00.09 là đối số tùy chọn
Ví dụ 1. Thay thế một mẫu văn bản cụ thể
Trong ví dụ này, một mẫu văn bản nhất định sẽ được tìm kiếm và thay thế trong một chuỗi. Ý tưởng là sử dụng dạng rất bình thường của phương thức
22 A0000 00 0000000000 00 E0000 D00.05 chỉ với 3 đối số đầu tiên.
Dưới đây là việc thực hiện
22 A0000 00 0000000000 00 E0000 D00.1
22 A0000 00 0000000000 00 E0000 D00.2
22 A0000 00 0000000000 00 E0000 D00.3
22 A0000 00 0000000000 00 E0000 D00.4
22 A0000 00 0000000000 00 E0000 D00.5
22 A0000 00 0000000000 00 E0000 D00.06
22 A0000 00 0000000000 00 E0000 D00.3
22 A0000 00 0000000000 00 E0000 D00.8
22 A0000 00 0000000000 00 E0000 D00.9
22 00000 00 0000000000 00 00000 000.0
22 00000 00 0000000000 00 00000 000.1
22 00000 00 0000000000 00 00000 000.2
22 00000 00 0000000000 00 00000 000.3
22 00000 00 0000000000 00 00000 000.4
22 00000 00 0000000000 00 00000 000.3
22 00000 00 0000000000 00 00000 000.6______87
22 00000 00 0000000000 00 00000 000.8
22 00000 00 0000000000 00 00000 000.2
22 00000 00 0000000000 00 00000 000.3
22 A0000 00 0000000000 00 E0000 D00.91
22 00000 00 0000000000 00 00000 000.3
22 A0000 00 0000000000 00 E0000 D00.93
22 00000 00 0000000000 00 00000 000.3
22 A0000 00 0000000000 00 E0000 D00.95
22 00000 00 0000000000 00 00000 000.3
22 A0000 00 0000000000 00 E0000 D00.97
22 00000 00 0000000000 00 00000 000.3
22 A0000 00 0000000000 00 E0000 D00.99
22 00000 00 0000000000 00 00000 000.3
22 A0000 00 0000000000 00 E0000 D00.91
22 00000 00 0000000000 00 00000 000.3
22 A0000 00 0000000000 00 E0000 D00.93
22 A0000 00 0000000000 00 E0000 D00.94
22 A0000 00 0000000000 00 E0000 D00.95
22 A0000 00 0000000000 00 E0000 D00.96
22 A0000 00 0000000000 00 E0000 D00.97
22 A0000 00 0000000000 00 E0000 D00.98
22 00000 00 0000000000 00 00000 000.2
22 00000 00 0000000000 00 00000 000.3
22 00000 00 0000000000 00 00000 000.4
22 00000 00 0000000000 00 00000 000.3
22 A0000 00 0000000000 00 E0000 D00.053____87
22 A0000 00 0000000000 00 E0000 D00.055
22 00000 00 0000000000 00 00000 000.2
22 00000 00 0000000000 00 00000 000.3____2058
22 00000 00 0000000000 00 00000 000.3
22 A0000 00 0000000000 00 E0000 D00.060
22 00000 00 0000000000 00 00000 000.3
22 A0000 00 0000000000 00 E0000 D00.062
22 00000 00 0000000000 00 00000 000.3____2064
22 00000 00 0000000000 00 00000 000.3____2066
22 00000 00 0000000000 00 00000 000.3
22 A0000 00 0000000000 00 E0000 D00.93
22 A0000 00 0000000000 00 E0000 D00.94
22 A0000 00 0000000000 00 E0000 D00.050
22 A0000 00 0000000000 00 E0000 D00.96
22 A0000 00 0000000000 00 E0000 D00.052
22 A0000 00 0000000000 00 E0000 D00.053
22 A0000 00 0000000000 00 E0000 D00.3
22 A0000 00 0000000000 00 E0000 D00.055
22 A0000 00 0000000000 00 E0000 D00.056
đầu ra.
22 A0000 00 0000000000 00 E0000 D00.3
Bất kể bao nhiêu lần mẫu được yêu cầu xuất hiện trong chuỗi, hàm
22 A0000 00 0000000000 00 E0000 D00.05 sẽ thay thế tất cả chúng bằng mẫu đã cho. Đó là lý do tại sao cả 'rất' được thay thế bằng 'so' trong ví dụ trên
Ví dụ 2. Thay thế một bộ ký tự bằng một ký tự cụ thể
Nhiệm vụ là thay thế một bộ ký tự bằng một ký tự nhất định. Một bộ ký tự có nghĩa là một dãy ký tự. Trong phương thức
22 A0000 00 0000000000 00 E0000 D00.05, một bộ ký tự được viết bên trong [ ][dấu ngoặc vuông].
Trong ví dụ này, bộ ký tự chữ thường i. e. , [a-z] sẽ được thay bằng chữ số 0. Dưới đây là việc thực hiện
22 A0000 00 0000000000 00 E0000 D00.059
22 A0000 00 0000000000 00 E0000 D00.080
22 A0000 00 0000000000 00 E0000 D00.3
22 A0000 00 0000000000 00 E0000 D00.4
22 A0000 00 0000000000 00 E0000 D00.5
22 A0000 00 0000000000 00 E0000 D00.06
22 A0000 00 0000000000 00 E0000 D00.3
22 A0000 00 0000000000 00 E0000 D00.8
22 A0000 00 0000000000 00 E0000 D00.9
22 00000 00 0000000000 00 00000 000.0
22 00000 00 0000000000 00 00000 000.1
22 00000 00 0000000000 00 00000 000.2
22 00000 00 0000000000 00 00000 000.3
22 00000 00 0000000000 00 00000 000.4
22 00000 00 0000000000 00 00000 000.3
22 A0000 00 0000000000 00 E0000 D00.094
22 00000 00 0000000000 00 00000 000.7
22 A0000 00 0000000000 00 E0000 D00.096
22 A0000 00 0000000000 00 E0000 D00.3
22 00000 00 0000000000 00 00000 000.3____2099
22 00000 00 0000000000 00 00000 000.3
22 A0000 00 0000000000 00 E0000 D00.01
22 00000 00 0000000000 00 00000 000.3
22 A0000 00 0000000000 00 E0000 D00.03
22 00000 00 0000000000 00 00000 000.3
22 A0000 00 0000000000 00 E0000 D00.93
22 A0000 00 0000000000 00 E0000 D00.94
22 A0000 00 0000000000 00 E0000 D00.07
22 A0000 00 0000000000 00 E0000 D00.96
22 A0000 00 0000000000 00 E0000 D00.09
22 A0000 00 0000000000 00 E0000 D00.10
22 00000 00 0000000000 00 00000 000.2
22 A0000 00 0000000000 00 E0000 D00.055
22 A0000 00 0000000000 00 E0000 D00.056
đầu ra.
22 A0000 00 0000000000 00 E0000 D00.
Nếu có nhu cầu thay thế cả bộ ký tự chữ thường và chữ hoa thì chúng ta phải giới thiệu bộ ký tự chữ hoa theo cách này. [a-zA-Z] hoặc cách hiệu quả để làm là sử dụng cờ
Ví dụ 3. Thay thế một bộ ký tự không phân biệt chữ hoa chữ thường bằng một ký tự cụ thể
Trong ví dụ này, cả ký tự chữ thường và chữ hoa sẽ được thay thế bằng ký tự đã cho. Với việc sử dụng cờ, nhiệm vụ này có thể được thực hiện rất dễ dàng.
Cờ
22 A0000 00 0000000000 00 E0000 D00.14 là viết tắt của re. BỎ QUA TRƯỜNG HỢP. Bằng cách giới thiệu cờ này trong phương thức
22 A0000 00 0000000000 00 E0000 D00.05 và đề cập đến bất kỳ bộ ký tự nào tôi. e. , chữ thường hoặc chữ hoa nhiệm vụ có thể được hoàn thành
Dưới đây là việc thực hiện
22 A0000 00 0000000000 00 E0000 D00.16
22 A0000 00 0000000000 00 E0000 D00.17
22 A0000 00 0000000000 00 E0000 D00.3
22 A0000 00 0000000000 00 E0000 D00.4
22 A0000 00 0000000000 00 E0000 D00.5
22 A0000 00 0000000000 00 E0000 D00.06
22 A0000 00 0000000000 00 E0000 D00.3
22 A0000 00 0000000000 00 E0000 D00.8
22 A0000 00 0000000000 00 E0000 D00.9
22 00000 00 0000000000 00 00000 000.0
22 00000 00 0000000000 00 00000 000.1
22 00000 00 0000000000 00 00000 000.2
22 00000 00 0000000000 00 00000 000.3
22 00000 00 0000000000 00 00000 000.4
22 00000 00 0000000000 00 00000 000.3
22 A0000 00 0000000000 00 E0000 D00.094
22 00000 00 0000000000 00 00000 000.7
22 A0000 00 0000000000 00 E0000 D00.096
22 A0000 00 0000000000 00 E0000 D00.3
_______83____036
_______83____038
_______83____040
_______83____042
22 00000 00 0000000000 00 00000 000.3
22 A0000 00 0000000000 00 E0000 D00.93
22 A0000 00 0000000000 00 E0000 D00.94
22 A0000 00 0000000000 00 E0000 D00.07
22 A0000 00 0000000000 00 E0000 D00.96
22 A0000 00 0000000000 00 E0000 D00.09
22 A0000 00 0000000000 00 E0000 D00.49
22 00000 00 0000000000 00 00000 000.7
22 A0000 00 0000000000 00 E0000 D00.51
22 00000 00 0000000000 00 00000 000.2
22 A0000 00 0000000000 00 E0000 D00.055
22 A0000 00 0000000000 00 E0000 D00.056
đầu ra. ________số 8
Ví dụ 4. Thực hiện thay thế tối đa một số ký tự nhất định
Trong ví dụ này, thay thế sẽ tối đa một số ký tự cụ thể chứ không phải trên toàn bộ chuỗi. Để thực hiện kiểu thay thế này, phương thức
22 A0000 00 0000000000 00 E0000 D00.05 có một đối số
22 A0000 00 0000000000 00 E0000 D00.56.
Bằng cách cung cấp một giá trị số cho đối số này, số lượng ký tự sẽ xảy ra thay thế có thể được kiểm soát. Dưới đây là việc thực hiện
22 A0000 00 0000000000 00 E0000 D00.57
22 A0000 00 0000000000 00 E0000 D00.58
22 A0000 00 0000000000 00 E0000 D00.3
22 A0000 00 0000000000 00 E0000 D00.4
22 A0000 00 0000000000 00 E0000 D00.5
22 A0000 00 0000000000 00 E0000 D00.06
22 A0000 00 0000000000 00 E0000 D00.3
22 A0000 00 0000000000 00 E0000 D00.8
22 A0000 00 0000000000 00 E0000 D00.9
22 00000 00 0000000000 00 00000 000.0
22 00000 00 0000000000 00 00000 000.1
22 00000 00 0000000000 00 00000 000.2
22 00000 00 0000000000 00 00000 000.3
22 00000 00 0000000000 00 00000 000.4
22 00000 00 0000000000 00 00000 000.3
22 A0000 00 0000000000 00 E0000 D00.094
22 00000 00 0000000000 00 00000 000.7
22 A0000 00 0000000000 00 E0000 D00.74
22 A0000 00 0000000000 00 E0000 D00.3
22 00000 00 0000000000 00 00000 000.3
22 A0000 00 0000000000 00 E0000 D00.77
_______83____079
_______83____081
22 00000 00 0000000000 00 00000 000.3____2066
22 00000 00 0000000000 00 00000 000.3
22 A0000 00 0000000000 00 E0000 D00.93
22 A0000 00 0000000000 00 E0000 D00.94
22 A0000 00 0000000000 00 E0000 D00.07
22 A0000 00 0000000000 00 E0000 D00.96
22 A0000 00 0000000000 00 E0000 D00.09
22 A0000 00 0000000000 00 E0000 D00.90
22 A0000 00 0000000000 00 E0000 D00.91
22 A0000 00 0000000000 00 E0000 D00.92
22 00000 00 0000000000 00 00000 000.7
22 A0000 00 0000000000 00 E0000 D00.51
22 00000 00 0000000000 00 00000 000.2
22 A0000 00 0000000000 00 E0000 D00.055
22 A0000 00 0000000000 00 E0000 D00.056
đầu ra.
22 A0000 00 0000000000 00 E0000 D00.9
Ví dụ 5. Thay thế bằng cách sử dụng lớp ký tự tốc ký và tiền xử lý văn bản
Mô-đun Regex cung cấp nhiều lớp ký tự tốc ký cho những bộ ký tự rất phổ biến trong quá trình tiền xử lý văn bản. Việc sử dụng lớp ký tự tốc ký dẫn đến việc viết mã hiệu quả và giảm nhu cầu ghi nhớ phạm vi của mỗi bộ ký tự.
Để có giải thích chi tiết về lớp ký tự tốc ký và cách viết biểu thức chính quy trong python để tiền xử lý văn bản, hãy nhấp vào đây. Sau đây là một số lớp ký tự tốc ký thường được sử dụng
\w. khớp với các ký tự chữ và số
\W. khớp với các ký tự số không phải alpha như @, #, ‘, +, %, –
\d. khớp với các ký tự chữ số
\s. khớp với các ký tự khoảng trắngÝ nghĩa của một số cú pháp.
thêm ký hiệu dấu cộng[+] sau một lớp hoặc bộ ký tự. lặp lại lớp ký tự trước đó hoặc được đặt ít nhất 1 lần trở lên.thêm ký hiệu dấu hoa thị [*] sau một lớp hoặc bộ ký tự. lặp lại lớp ký tự trước đó hoặc được đặt ít nhất 0 lần trở lên
thêm ký hiệu dấu mũ [^] trước một lớp hoặc bộ ký tự. vị trí khớp được xác định cho lớp ký tự đó hoặc được đặt ở đầu chuỗi
thêm ký hiệu đô la [$] sau một lớp hoặc bộ ký tự. vị trí khớp được xác định cho lớp ký tự đó hoặc được đặt ở cuối chuỗi
Ví dụ này minh họa việc sử dụng các lớp ký tự tốc ký được đề cập để thay thế và tiền xử lý văn bản để có được các chuỗi rõ ràng và không có lỗi. Dưới đây là việc thực hiện
22 A0000 00 0000000000 00 E0000 D00.98
22 A0000 00 0000000000 00 E0000 D00.99
22 A0000 00 0000000000 00 E0000 D00.3
22 A0000 00 0000000000 00 E0000 D00.4
22 A0000 00 0000000000 00 E0000 D00.5
22 A0000 00 0000000000 00 E0000 D00.06
22 A0000 00 0000000000 00 E0000 D00.3
22 A0000 00 0000000000 00 E0000 D00.8
22 A0000 00 0000000000 00 E0000 D00.9
22 00000 00 0000000000 00 00000 000.0
22 00000 00 0000000000 00 00000 000.1
22 00000 00 0000000000 00 00000 000.2
22 00000 00 0000000000 00 00000 000.3
22 00000 00 0000000000 00 00000 000.11
22 00000 00 0000000000 00 00000 000.3
22 00000 00 0000000000 00 00000 000.13
22 00000 00 0000000000 00 00000 000.7
22 00000 00 0000000000 00 00000 000.15
22 00000 00 0000000000 00 00000 000.16
22 A0000 00 0000000000 00 E0000 D00.96
22 00000 00 0000000000 00 00000 000.2
22 00000 00 0000000000 00 00000 000.19
22 A0000 00 0000000000 00 E0000 D00.96
22 00000 00 0000000000 00 00000 000.2
22 00000 00 0000000000 00 00000 000.22
22 00000 00 0000000000 00 00000 000.23
22 00000 00 0000000000 00 00000 000.2
22 00000 00 0000000000 00 00000 000.3
22 00000 00 0000000000 00 00000 000.26
22 00000 00 0000000000 00 00000 000.3
22 00000 00 0000000000 00 00000 000.28
22 00000 00 0000000000 00 00000 000.29
22 00000 00 0000000000 00 00000 000.30
22 00000 00 0000000000 00 00000 000.31
22 00000 00 0000000000 00 00000 000.32
22 00000 00 0000000000 00 00000 000.33
22 00000 00 0000000000 00 00000 000.34
22 00000 00 0000000000 00 00000 000.35
22 00000 00 0000000000 00 00000 000.36____837
22 00000 00 0000000000 00 00000 000.36______839
22 00000 00 0000000000 00 00000 000.7
22 00000 00 0000000000 00 00000 000.41
22 00000 00 0000000000 00 00000 000.77
22 A0000 00 0000000000 00 E0000 D00.96____844
22 00000 00 0000000000 00 00000 000.80
22 00000 00 0000000000 00 00000 000.7
22 00000 00 0000000000 00 00000 000.82