Hàm re trong Python là gì?

Biểu thức chính quy [RegEx] là một chuỗi ký tự đặc biệt sử dụng mẫu tìm kiếm để tìm một chuỗi hoặc tập hợp các chuỗi. Nó có thể phát hiện sự hiện diện hay vắng mặt của một văn bản bằng cách khớp văn bản đó với một mẫu cụ thể và cũng có thể chia một mẫu thành một hoặc nhiều mẫu phụ. Python cung cấp mô-đun re hỗ trợ sử dụng regex trong Python. Chức năng chính của nó là cung cấp một tìm kiếm, trong đó nó nhận một biểu thức chính quy và một chuỗi. Ở đây, nó trả về trận đấu đầu tiên hoặc không có trận đấu nào khác

Ví dụ

Python3




['123456789', '987654321']
0
['123456789', '987654321']
1

 

['123456789', '987654321']
2
['123456789', '987654321']
3
['123456789', '987654321']
4

 

['123456789', '987654321']
5
['123456789', '987654321']
3
['123456789', '987654321']
7
['123456789', '987654321']
8
['123456789', '987654321']
9

 

['123456789', '987654321']
00
['123456789', '987654321']
01
['123456789', '987654321']
02
['123456789', '987654321']
03

['123456789', '987654321']
00
['123456789', '987654321']
01
['123456789', '987654321']
06
['123456789', '987654321']
07

Đầu ra

['123456789', '987654321']
8

Đoạn mã trên cung cấp chỉ mục bắt đầu và chỉ mục kết thúc của cổng chuỗi.  

Ghi chú. Ở đây ký tự r [r'portal'] là viết tắt của raw, không phải regex. Chuỗi thô hơi khác so với chuỗi thông thường, nó sẽ không hiểu ký tự \ là ký tự thoát. Điều này là do công cụ biểu thức chính quy sử dụng ký tự \ cho mục đích thoát riêng của nó

Trước khi bắt đầu với mô-đun regex Python, hãy xem cách viết regex thực sự bằng cách sử dụng các siêu ký tự hoặc các chuỗi đặc biệt.  

Siêu ký tự

Để hiểu sự tương tự của RE, Meta Characters rất hữu ích, quan trọng và sẽ được sử dụng trong các chức năng của mô-đun re. Dưới đây là danh sách các siêu ký tự

Meta CharactersDescription\Được sử dụng để loại bỏ ý nghĩa đặc biệt của ký tự theo sau nó[]Đại diện cho một lớp ký tự^Khớp với phần đầu$Khớp với phần cuối. Khớp với bất kỳ ký tự nào ngoại trừ dòng mới. Có nghĩa là HOẶC [Khớp với bất kỳ ký tự nào được phân tách bởi nó. ?Khớp với 0 hoặc một lần xuất hiện*Bất kỳ số lần xuất hiện nào [kể cả 0 lần xuất hiện]+Một hoặc nhiều lần xuất hiện{}Cho biết số lần xuất hiện của biểu thức chính quy trước để khớp. [] Kèm theo một nhóm Regex

Hãy thảo luận chi tiết về từng siêu ký tự này

\ – Dấu gạch chéo ngược

Dấu gạch chéo ngược [\] đảm bảo rằng ký tự không được xử lý theo cách đặc biệt. Đây có thể được coi là một cách thoát khỏi siêu ký tự. Ví dụ: nếu bạn muốn tìm kiếm dấu chấm [. ] trong chuỗi thì bạn sẽ tìm thấy dấu chấm đó [. ] sẽ được coi là một ký tự đặc biệt giống như một trong các siêu ký tự [như trong bảng trên]. Vì vậy, đối với trường hợp này, chúng tôi sẽ sử dụng dấu gạch chéo ngược [\] ngay trước dấu chấm [. ] để nó mất đặc sản. Xem ví dụ dưới đây để hiểu rõ hơn

Ví dụ.  

Python3




['123456789', '987654321']
0
['123456789', '987654321']
1

 

['123456789', '987654321']
2____03
['123456789', '987654321']
32

 

['123456789', '987654321']
33

['123456789', '987654321']
5
['123456789', '987654321']
3
['123456789', '987654321']
7____237
['123456789', '987654321']
9

['123456789', '987654321']
00
['123456789', '987654321']
10

 

['123456789', '987654321']
11

['123456789', '987654321']
5
['123456789', '987654321']
3
['123456789', '987654321']
7
['123456789', '987654321']
15
['123456789', '987654321']
9

['123456789', '987654321']
00
['123456789', '987654321']
10

Đầu ra

['123456789', '987654321']
0

[] - Dấu ngoặc vuông

Dấu ngoặc vuông [[]] đại diện cho một lớp ký tự bao gồm một tập hợp các ký tự mà chúng ta muốn so khớp. Ví dụ: lớp ký tự [abc] sẽ khớp với bất kỳ a, b hoặc c nào.  

Chúng tôi cũng có thể chỉ định một phạm vi ký tự bằng cách sử dụng – bên trong dấu ngoặc vuông. Ví dụ,

  • [0, 3] là mẫu như [0123]
  • [a-c] giống như [abc]

Chúng ta cũng có thể đảo ngược lớp ký tự bằng ký hiệu dấu mũ [^]. Ví dụ,

  • [^0-3] có nghĩa là bất kỳ số nào ngoại trừ 0, 1, 2 hoặc 3
  • [^a-c] có nghĩa là bất kỳ ký tự nào ngoại trừ a, b hoặc c

^ – dấu mũ

Dấu mũ [^] khớp với phần đầu của chuỗi i. e. kiểm tra xem chuỗi có bắt đầu bằng [các] ký tự đã cho hay không. Ví dụ -

  • ^g sẽ kiểm tra xem chuỗi có bắt đầu bằng g chẳng hạn như geeks, Globe, girl, g, v.v.
  • ^ge sẽ kiểm tra xem chuỗi có bắt đầu bằng ge chẳng hạn như geeks, geeksforgeeks, v.v.

$ – Đô la

Ký hiệu đô la [$] khớp với phần cuối của chuỗi i. e kiểm tra xem chuỗi có kết thúc bằng [các] ký tự đã cho hay không. Ví dụ -

  • s$ sẽ kiểm tra chuỗi kết thúc bằng a chẳng hạn như geeks, end, s, v.v.
  • ks$ sẽ kiểm tra chuỗi kết thúc bằng ks chẳng hạn như geeks, geeksforgeeks, ks, v.v.

– Chấm

Dấu chấm[. ] biểu tượng chỉ khớp với một ký tự duy nhất ngoại trừ ký tự xuống dòng [\n]. Ví dụ -

  • a. b sẽ kiểm tra chuỗi chứa bất kỳ ký tự nào ở vị trí của dấu chấm, chẳng hạn như acb, acbd, abbb, v.v.
  • sẽ kiểm tra xem chuỗi có chứa ít nhất 2 ký tự không

- Hoặc

Biểu tượng or hoạt động như toán tử or nghĩa là nó kiểm tra xem mẫu trước hay sau ký hiệu or có trong chuỗi hay không. Ví dụ -

  • a. b sẽ khớp với bất kỳ chuỗi nào chứa a hoặc b, chẳng hạn như acd, bcd, abcd, v.v.

?

Dấu chấm hỏi[?] kiểm tra xem chuỗi trước dấu chấm hỏi trong biểu thức chính quy có xảy ra ít nhất một lần hay không. Ví dụ -

  • ab?c sẽ khớp với chuỗi ac, acb, dabc nhưng sẽ không khớp với abbc vì có hai b. Tương tự, nó sẽ không khớp với abdc vì b không theo sau c

* - Ngôi sao

Ký hiệu dấu sao [*] khớp với 0 hoặc nhiều lần xuất hiện của biểu thức chính quy trước ký hiệu *. Ví dụ -

  • ab*c sẽ được khớp với chuỗi ac, abc, abbbc, dabc, v.v. nhưng sẽ không khớp với abdc vì b không được theo sau bởi c

+ – Cộng

Biểu tượng dấu cộng [+] khớp với một hoặc nhiều lần xuất hiện của biểu thức chính quy trước biểu tượng +. Ví dụ -

  • ab+c sẽ khớp với chuỗi abc, abbc, dabc, nhưng sẽ không khớp với ac, abdc vì không có b trong ac và b không theo sau c trong abdc

{m, n} – Niềng răng

Niềng răng khớp với bất kỳ sự lặp lại nào trước biểu thức chính quy từ m đến n bao gồm cả. Ví dụ -

  • a{2, 4} sẽ khớp với chuỗi aaab, baaaac, gaad, nhưng sẽ không khớp với các chuỗi như abc, bc vì chỉ có một a hoặc không có a trong cả hai trường hợp

[] – Group

Biểu tượng nhóm được sử dụng để nhóm các mẫu phụ. Ví dụ -

  • [một. b]cd sẽ khớp với các chuỗi như acd, abcd, gacd, v.v.

trình tự đặc biệt

Các chuỗi đặc biệt không khớp với ký tự thực trong chuỗi thay vào đó, nó cho biết vị trí cụ thể trong chuỗi tìm kiếm nơi phải xảy ra khớp. Nó làm cho nó dễ dàng hơn để viết các mẫu thường được sử dụng.  

Danh sách các chuỗi đặc biệt

Special SequenceDescriptionExamples\AMatch nếu chuỗi bắt đầu bằng ký tự đã cho\Afor for geeksfor the world\Các từ trùng khớp bắt đầu hoặc kết thúc bằng ký tự đã cho. \b[string] sẽ kiểm tra phần đầu của từ và [string]\b sẽ kiểm tra phần cuối của từ. \bgegeeksget\BIt ngược lại với \b i. e. chuỗi không được bắt đầu hoặc kết thúc với biểu thức chính quy đã cho. \Bgetogetherforge\dKhớp bất kỳ chữ số thập phân nào, điều này tương đương với lớp đã đặt [0-9]\d123gee1\DKhớp với mọi ký tự không phải chữ số, điều này tương đương với lớp đã đặt [^0-9]\Dgeeksgeek1\sKhớp với mọi ký tự khoảng trắng. \sgee ksa bc a\SMatch bất kỳ ký tự không phải khoảng trắng nào\Sa bdabcd\wMatch bất kỳ ký tự chữ và số nào, điều này tương đương với lớp [a-zA-Z0-9_]. \w123geeKs4\WKhớp với mọi ký tự không phải chữ và số. \W>$gee\ZMatches nếu chuỗi kết thúc bằng regexab\Zabcdababababab đã cho

Mô-đun Regex trong Python

Python có một mô-đun tên là re được sử dụng cho các biểu thức chính quy trong Python. Chúng ta có thể nhập mô-đun này bằng cách sử dụng câu lệnh nhập

Ví dụ. Nhập lại mô-đun trong Python

Python3




['123456789', '987654321']
0
['123456789', '987654321']
1

Hãy xem các chức năng khác nhau được cung cấp bởi mô-đun này để hoạt động với regex trong Python.  

lại. tìm tất cả []

Trả về tất cả các kết quả khớp mẫu không chồng chéo trong chuỗi, dưới dạng danh sách các chuỗi. Chuỗi được quét từ trái sang phải và kết quả khớp được trả về theo thứ tự tìm thấy

Ví dụ. Tìm tất cả các lần xuất hiện của một mẫu

Python3




['123456789', '987654321']
31

['123456789', '987654321']
32

['123456789', '987654321']
0
['123456789', '987654321']
1

 

['123456789', '987654321']
35

['123456789', '987654321']
36

['123456789', '987654321']
37
['123456789', '987654321']
3
['123456789', '987654321']
39

['123456789', '987654321']
20
['123456789', '987654321']
21

 

['123456789', '987654321']
22

['123456789', '987654321']
23
['123456789', '987654321']
3
['123456789', '987654321']
25

 

['123456789', '987654321']
5
['123456789', '987654321']
3
['123456789', '987654321']
28

['123456789', '987654321']
00
['123456789', '987654321']
10

 

['123456789', '987654321']
31

Đầu ra

['123456789', '987654321']

lại. biên dịch[]

Các biểu thức chính quy được biên dịch thành các đối tượng mẫu, có các phương thức cho các hoạt động khác nhau, chẳng hạn như tìm kiếm các kết quả khớp mẫu hoặc thực hiện thay thế chuỗi.  

ví dụ 1

con trăn




['123456789', '987654321']
32

['123456789', '987654321']
33

['123456789', '987654321']
0
['123456789', '987654321']
1

 

['123456789', '987654321']
36

['123456789', '987654321']
37

['123456789', '987654321']
38

['123456789', '987654321']
39

['123456789', '987654321']
30

['123456789', '987654321']
31
['123456789', '987654321']
3
['123456789', '987654321']
33
['123456789', '987654321']
34
['123456789', '987654321']
01
['123456789', '987654321']
36
['123456789', '987654321']
37

 

['123456789', '987654321']
38

['123456789', '987654321']
39

________ 100

['123456789', '987654321']
001 _______ 4002 _______ 4003

đầu ra.  

['123456789', '987654321']
0

Hiểu đầu ra.  

  • Lần xuất hiện đầu tiên là 'e' trong "Aye" chứ không phải 'A', vì nó phân biệt chữ hoa chữ thường
  • Lần xuất hiện tiếp theo là 'a' trong "said", sau đó là 'd' trong "said", tiếp theo là 'b' và 'e' trong "Gibenson", 'a' cuối khớp với "Stark"
  • Dấu gạch chéo ngược siêu ký tự '\' có vai trò rất quan trọng vì nó báo hiệu các chuỗi khác nhau. Nếu dấu gạch chéo ngược được sử dụng mà không có ý nghĩa đặc biệt như siêu ký tự, hãy sử dụng'\\'

ví dụ 2. Đặt lớp [\ s,. ] sẽ khớp với bất kỳ ký tự khoảng trắng nào,  ‘,’,  hoặc, ‘. ’.  

con trăn




['123456789', '987654321']
0
['123456789', '987654321']
1

 

['123456789', '987654321']
006

['123456789', '987654321']
31
['123456789', '987654321']
3
['123456789', '987654321']
33
['123456789', '987654321']
34
['123456789', '987654321']
01
['123456789', '987654321']
012
['123456789', '987654321']
37

['123456789', '987654321']
00
['123456789', '987654321']
001
['123456789', '987654321']
016
['123456789', '987654321']
003

 

['123456789', '987654321']
018

['123456789', '987654321']
019

['123456789', '987654321']
31
['123456789', '987654321']
3
['123456789', '987654321']
33
['123456789', '987654321']
34
['123456789', '987654321']
01
['123456789', '987654321']
25
['123456789', '987654321']
37

['123456789', '987654321']
00
['123456789', '987654321']
001
['123456789', '987654321']
016
['123456789', '987654321']
003

đầu ra.  

['123456789', '987654321']
3

ví dụ 3

con trăn




['123456789', '987654321']
0
['123456789', '987654321']
1

 

['123456789', '987654321']
033

['123456789', '987654321']
31
['123456789', '987654321']
3
['123456789', '987654321']
33
['123456789', '987654321']
34
['123456789', '987654321']
01
['123456789', '987654321']
039
['123456789', '987654321']
37

['123456789', '987654321']
00
['123456789', '987654321']
001
['123456789', '987654321']
043
['123456789', '987654321']
003

 

['123456789', '987654321']
045

['123456789', '987654321']
31
['123456789', '987654321']
3
['123456789', '987654321']
33
['123456789', '987654321']
34
['123456789', '987654321']
01
['123456789', '987654321']
051
['123456789', '987654321']
37

['123456789', '987654321']
00
['123456789', '987654321']
054____4055
['123456789', '987654321']
056

['123456789', '987654321']
057
['123456789', '987654321']
058
['123456789', '987654321']
058______4058
['123456789', '987654321']
061
['123456789', '987654321']
062

 

['123456789', '987654321']
063

['123456789', '987654321']
31
['123456789', '987654321']
3
['123456789', '987654321']
33
['123456789', '987654321']
34
['123456789', '987654321']
01
['123456789', '987654321']
069
['123456789', '987654321']
37

['123456789', '987654321']
00
['123456789', '987654321']
001
['123456789', '987654321']
073
['123456789', '987654321']
003

đầu ra.  

['123456789', '987654321']
1

Ví dụ 4

con trăn




['123456789', '987654321']
0
['123456789', '987654321']
1

 

['123456789', '987654321']
077

['123456789', '987654321']
078

['123456789', '987654321']
31
['123456789', '987654321']
3
['123456789', '987654321']
33
['123456789', '987654321']
34
['123456789', '987654321']
01
['123456789', '987654321']
084
['123456789', '987654321']
37

['123456789', '987654321']
00
['123456789', '987654321']
001
['123456789', '987654321']
088
['123456789', '987654321']
003

đầu ra.  

['123456789', '987654321']
3

Hiểu đầu ra.  

  • RE của chúng tôi là ab*, mà 'a' đi kèm với bất kỳ không. của 'b's, bắt đầu từ 0
  • Đầu ra 'ab', hợp lệ vì một chữ 'a' đi kèm với một chữ 'b'
  • Đầu ra 'abb', hợp lệ vì một chữ 'a' đi kèm với 2 chữ 'b'
  • Đầu ra 'a', hợp lệ vì một chữ 'a' đi kèm với 0 'b'
  • Đầu ra 'abbb', hợp lệ vì một chữ 'a' đi kèm với 3 chữ 'b'

lại. tách ra[]

Tách chuỗi theo số lần xuất hiện của một ký tự hoặc một mẫu, khi tìm thấy mẫu đó, các ký tự còn lại trong chuỗi được trả về như một phần của danh sách kết quả.  

cú pháp.  

['123456789', '987654321']
2

Tham số đầu tiên, mẫu biểu thị biểu thức chính quy, chuỗi là chuỗi đã cho trong đó mẫu sẽ được tìm kiếm và trong đó xảy ra quá trình phân tách, maxsplit nếu không được cung cấp sẽ được coi là 0 '0' và nếu có bất kỳ giá trị khác 0 nào được cung cấp, thì . Nếu maxsplit = 1, thì chuỗi sẽ chỉ tách một lần, dẫn đến danh sách có độ dài 2. Các cờ rất hữu ích và có thể giúp rút ngắn mã, chúng không phải là tham số cần thiết, vd. cờ = lại. IGNORECASE, trong trường hợp này, tôi. e. chữ thường hoặc chữ hoa sẽ bị bỏ qua

ví dụ 1

con trăn




['123456789', '987654321']
090
['123456789', '987654321']
1
['123456789', '987654321']
0
['123456789', '987654321']
093

 

['123456789', '987654321']
094

['123456789', '987654321']
095

['123456789', '987654321']
096

['123456789', '987654321']
097

['123456789', '987654321']
00
['123456789', '987654321']
099
['123456789', '987654321']
00
['123456789', '987654321']
01
['123456789', '987654321']
02
['123456789', '987654321']
003

['123456789', '987654321']
00
['123456789', '987654321']
099
['123456789', '987654321']
00
['123456789', '987654321']
01
['123456789', '987654321']
08
['123456789', '987654321']
003

 

['123456789', '987654321']
10

['123456789', '987654321']
11

['123456789', '987654321']
00
['123456789', '987654321']
099
['123456789', '987654321']
00
['123456789', '987654321']
01
['123456789', '987654321']
16
['123456789', '987654321']
003

 

['123456789', '987654321']
18

['123456789', '987654321']
19

['123456789', '987654321']
20

['123456789', '987654321']
00
['123456789', '987654321']
099
['123456789', '987654321']
25
['123456789', '987654321']
01
['123456789', '987654321']
16
['123456789', '987654321']
003

đầu ra.  

['123456789', '987654321']
3

ví dụ 2

con trăn




['123456789', '987654321']
0
['123456789', '987654321']
1

 

['123456789', '987654321']
29

['123456789', '987654321']
30

['123456789', '987654321']
00
['123456789', '987654321']
32____525
['123456789', '987654321']
01
['123456789', '987654321']
16
['123456789', '987654321']
01
['123456789', '987654321']
37
['123456789', '987654321']
003

 

['123456789', '987654321']
39

['123456789', '987654321']
40

['123456789', '987654321']
00
['123456789', '987654321']
32______043
['123456789', '987654321']
01
['123456789', '987654321']
45
['123456789', '987654321']
46
['123456789', '987654321']
3
['123456789', '987654321']
48

['123456789', '987654321']
00
['123456789', '987654321']
32____043
['123456789', '987654321']
01
['123456789', '987654321']
45
['123456789', '987654321']
003

đầu ra.  

['123456789', '987654321']
3

lại. phụ[]

'Phụ' trong hàm là viết tắt của SubString, một mẫu biểu thức chính quy nhất định được tìm kiếm trong chuỗi đã cho [tham số thứ 3] và khi tìm thấy mẫu chuỗi con được thay thế bằng thay thế [tham số thứ 2], kiểm tra đếm và duy trì số lần .  

cú pháp

['123456789', '987654321']
00

ví dụ 1

con trăn




['123456789', '987654321']
0
['123456789', '987654321']
1

 

['123456789', '987654321']
57

['123456789', '987654321']
58

['123456789', '987654321']
59

['123456789', '987654321']
60

['123456789', '987654321']
61

['123456789', '987654321']
62

['123456789', '987654321']
00
['123456789', '987654321']
64
['123456789', '987654321']
65
['123456789', '987654321']
01
['123456789', '987654321']
67
['123456789', '987654321']
01
['123456789', '987654321']
69
['123456789', '987654321']
01

['123456789', '987654321']
71
['123456789', '987654321']
72____03
['123456789', '987654321']
48

 

['123456789', '987654321']
75

['123456789', '987654321']
76

['123456789', '987654321']
00
['123456789', '987654321']
64
['123456789', '987654321']
65
['123456789', '987654321']
01
['123456789', '987654321']
67
['123456789', '987654321']
01
['123456789', '987654321']
69
['123456789', '987654321']
003

 

['123456789', '987654321']
85

['123456789', '987654321']
86

['123456789', '987654321']
00
['123456789', '987654321']
64
['123456789', '987654321']
65
['123456789', '987654321']
01
['123456789', '987654321']
67
['123456789', '987654321']
01
['123456789', '987654321']
69
['123456789', '987654321']
01

['123456789', '987654321']
71
['123456789', '987654321']
96____03
['123456789', '987654321']
37
['123456789', '987654321']
46
['123456789', '987654321']
3
['123456789', '987654321']
48

 

['123456789', '987654321']
002

['123456789', '987654321']
003

['123456789', '987654321']
00
['123456789', '987654321']
005
['123456789', '987654321']
006
['123456789', '987654321']
01
['123456789', '987654321']
008
['123456789', '987654321']
01
['123456789', '987654321']
010
['123456789', '987654321']
01

['123456789', '987654321']
71
['123456789', '987654321']
72____03
['123456789', '987654321']
48

đầu ra

['123456789', '987654321']
01

lại. subn[]

subn[] tương tự như sub[] về mọi mặt, ngoại trừ cách cung cấp đầu ra. Nó trả về một bộ với tổng số thay thế và chuỗi mới thay vì chỉ chuỗi.  

cú pháp

['123456789', '987654321']
02

Ví dụ

con trăn




['123456789', '987654321']
0
['123456789', '987654321']
1

 

['123456789', '987654321']
00
['123456789', '987654321']
019
['123456789', '987654321']
65
['123456789', '987654321']
01
['123456789', '987654321']
67
['123456789', '987654321']
01
['123456789', '987654321']
69
['123456789', '987654321']
003

 

['123456789', '987654321']
026
['123456789', '987654321']
3
['123456789', '987654321']
028
['123456789', '987654321']
65
['123456789', '987654321']
01
['123456789', '987654321']
67
['123456789', '987654321']
01
['123456789', '987654321']
69
['123456789', '987654321']
01

['123456789', '987654321']
20
['123456789', '987654321']
72
['123456789', '987654321']
3
['123456789', '987654321']
038

['123456789', '987654321']
00
['123456789', '987654321']
040

['123456789', '987654321']
00
['123456789', '987654321']
01
['123456789', '987654321']
043
['123456789', '987654321']
044

 

['123456789', '987654321']
045

['123456789', '987654321']
00
['123456789', '987654321']
047
['123456789', '987654321']
048
['123456789', '987654321']
049

đầu ra

['123456789', '987654321']
03

lại. thoát khỏi[]

Trả về chuỗi có tất cả các dấu gạch chéo ngược không phải chữ và số, điều này hữu ích nếu bạn muốn so khớp một chuỗi ký tự tùy ý có thể chứa các ký tự đại diện biểu thức chính quy trong đó

cú pháp

['123456789', '987654321']
04

Ví dụ

con trăn




['123456789', '987654321']
0
['123456789', '987654321']
1

 

['123456789', '987654321']
052

['123456789', '987654321']
053

['123456789', '987654321']
054

['123456789', '987654321']
055

['123456789', '987654321']
056

['123456789', '987654321']
00
['123456789', '987654321']
058
['123456789', '987654321']
059
['123456789', '987654321']
003

________ 100

['123456789', '987654321']
058 ________ 1063 ________ 4003

Đầu ra

['123456789', '987654321']
05

lại. Tìm kiếm[]

Phương thức này trả về Không có [nếu mẫu không khớp] hoặc trả về. MatchObject chứa thông tin về phần phù hợp của chuỗi. Phương thức này dừng sau lần khớp đầu tiên, vì vậy phương thức này phù hợp nhất để kiểm tra biểu thức chính quy hơn là trích xuất dữ liệu

Ví dụ. Tìm kiếm sự xuất hiện của mẫu

Python3




['123456789', '987654321']
065

['123456789', '987654321']
0
['123456789', '987654321']
1

 

['123456789', '987654321']
068

['123456789', '987654321']
069

['123456789', '987654321']
23
['123456789', '987654321']
3
['123456789', '987654321']
072____1073

 

['123456789', '987654321']
5
['123456789', '987654321']
3
['123456789', '987654321']
076
['123456789', '987654321']
077
['123456789', '987654321']
37

 

________ 1079 ________ 1080 ________ 03 ________ 1082 ________ 1083

 

['123456789', '987654321']
084
['123456789', '987654321']
085

['123456789', '987654321']
084
['123456789', '987654321']
087

 

['123456789', '987654321']
084
['123456789', '987654321']
089

['123456789', '987654321']
084
['123456789', '987654321']
091

['123456789', '987654321']
084
['123456789', '987654321']
00
['123456789', '987654321']
01
['123456789', '987654321']
095
['123456789', '987654321']
096
['123456789', '987654321']
097

 

['123456789', '987654321']
084
['123456789', '987654321']
099

['123456789', '987654321']
084
['123456789', '987654321']
301

['123456789', '987654321']
084____2303

['123456789', '987654321']
084
['123456789', '987654321']
305

['123456789', '987654321']
084
['123456789', '987654321']
307

['123456789', '987654321']
084
['123456789', '987654321']
309

['123456789', '987654321']
084
['123456789', '987654321']
311

 

['123456789', '987654321']
084
['123456789', '987654321']
313

['123456789', '987654321']
084
['123456789', '987654321']
00
['123456789', '987654321']
01
['123456789', '987654321']
317
['123456789', '987654321']
096
['123456789', '987654321']
319
['123456789', '987654321']
048
['123456789', '987654321']
321

 

['123456789', '987654321']
084
['123456789', '987654321']
323

['123456789', '987654321']
084
['123456789', '987654321']
00
['123456789', '987654321']
01
['123456789', '987654321']
327
['123456789', '987654321']
096
['123456789', '987654321']
319
['123456789', '987654321']
37
['123456789', '987654321']
321

 

['123456789', '987654321']
084
['123456789', '987654321']
333

['123456789', '987654321']
084
['123456789', '987654321']
00
['123456789', '987654321']
01
['123456789', '987654321']
337
['123456789', '987654321']
096
['123456789', '987654321']
319
['123456789', '987654321']
340
['123456789', '987654321']
321

 

['123456789', '987654321']
342
['123456789', '987654321']
083

['123456789', '987654321']
084
['123456789', '987654321']
00
['123456789', '987654321']
01
['123456789', '987654321']
347
['123456789', '987654321']
37

Đầu ra

['123456789', '987654321']
06

đối tượng phù hợp

Một đối tượng Match chứa tất cả thông tin về tìm kiếm và kết quả và nếu không tìm thấy kết quả phù hợp thì Không có sẽ được trả về. Hãy xem một số phương thức và thuộc tính thường được sử dụng của đối tượng khớp

Lấy chuỗi và regex

trận đấu. thuộc tính re trả về biểu thức chính quy được truyền và khớp. thuộc tính chuỗi trả về chuỗi đã truyền

Ví dụ. Lấy chuỗi và biểu thức chính quy của đối tượng phù hợp

Python3




['123456789', '987654321']
0
['123456789', '987654321']
1

 

['123456789', '987654321']
2
['123456789', '987654321']
3
['123456789', '987654321']
353

 

['123456789', '987654321']
354

['123456789', '987654321']
355
['123456789', '987654321']
3
['123456789', '987654321']
7____2358
['123456789', '987654321']
9

 

['123456789', '987654321']
00
['123456789', '987654321']
361

['123456789', '987654321']
00
['123456789', '987654321']
363

Đầu ra

['123456789', '987654321']
07

Lấy chỉ mục của đối tượng phù hợp

  • phương thức start[] trả về chỉ mục bắt đầu của chuỗi con phù hợp
  • phương thức end[] trả về chỉ mục kết thúc của chuỗi con phù hợp
  • span[] trả về một tuple chứa chỉ số bắt đầu và chỉ số kết thúc của chuỗi con phù hợp

Ví dụ. Lấy chỉ mục của đối tượng phù hợp

Python3




['123456789', '987654321']
0
['123456789', '987654321']
1

 

['123456789', '987654321']
2
['123456789', '987654321']
3
['123456789', '987654321']
353

 

['123456789', '987654321']
354

['123456789', '987654321']
355
['123456789', '987654321']
3
['123456789', '987654321']
7____2373
['123456789', '987654321']
9

 

['123456789', '987654321']
00
['123456789', '987654321']
376

['123456789', '987654321']
00
['123456789', '987654321']
378

['123456789', '987654321']
00
['123456789', '987654321']
380

Đầu ra

['123456789', '987654321']
08

Nhận chuỗi con phù hợp

phương thức group[] trả về một phần của chuỗi khớp với các mẫu. Xem ví dụ dưới đây để hiểu rõ hơn

Ví dụ. Nhận chuỗi con phù hợp

Python3




['123456789', '987654321']
0
['123456789', '987654321']
1

 

['123456789', '987654321']
2
['123456789', '987654321']
3
['123456789', '987654321']
353

 

['123456789', '987654321']
354

['123456789', '987654321']
355
['123456789', '987654321']
3
['123456789', '987654321']
7____2390
['123456789', '987654321']
9

 

['123456789', '987654321']
00
['123456789', '987654321']
393

Đầu ra

['123456789', '987654321']
09

Trong ví dụ trên, mẫu của chúng tôi chỉ định cho chuỗi chứa ít nhất 2 ký tự, theo sau là khoảng trắng và theo sau khoảng trắng là t.  

Bài viết liên quan.
https. //www. chuyên viên máy tính. org/regular-expressions-python-set-1-search-match-find/

Tham khảo.
https. // tài liệu. con trăn. org/2/library/re. html

Bài viết này được đóng góp bởi Piyush Doorwar. Nếu bạn thích GeeksforGeeks và muốn đóng góp, bạn cũng có thể viết một bài báo bằng cách sử dụng write. chuyên viên máy tính. org hoặc gửi bài viết của bạn tới review-team@geeksforgeeks. tổ chức. Xem bài viết của bạn xuất hiện trên trang chính của GeeksforGeeks và trợ giúp các Geeks khác

Vui lòng viết bình luận nếu bạn thấy bất cứ điều gì không chính xác hoặc bạn muốn chia sẻ thêm thông tin về chủ đề thảo luận ở trên.  

Tái trong Python là gì?

Mô-đun "re" của Python cung cấp hỗ trợ biểu thức chính quy . Trong Python, tìm kiếm biểu thức chính quy thường được viết là. khớp = lại. tìm kiếm[pat, str] Cái lại. phương thức search[] lấy một mẫu biểu thức chính quy và một chuỗi và tìm kiếm mẫu đó trong chuỗi.

re match[] trả về cái gì?

Hàm này chỉ kiểm tra sự trùng khớp ở đầu chuỗi. Điều này có nghĩa là lại. match[] sẽ trả về kết quả khớp được tìm thấy ở dòng đầu tiên của chuỗi , nhưng không phải kết quả tìm thấy ở bất kỳ dòng nào khác, trong trường hợp đó, kết quả sẽ trả về giá trị rỗng.

Làm cách nào để sử dụng nhập lại trong Python?

Python có một mô-đun tên là re để hoạt động với RegEx. Đây là một ví dụ. nhập lại mẫu = '^a. s$' test_string = 'vực thẳm' kết quả = lại. match[pattern, test_string] nếu có kết quả. print["Tìm kiếm thành công. "] khác. print["Tìm kiếm không thành công. "]

Việc sử dụng mô-đun lại là gì?

Mô-đun re cung cấp một tập hợp các tiện ích biểu thức chính quy mạnh mẽ, cho phép bạn nhanh chóng kiểm tra xem một chuỗi đã cho có khớp với một mẫu nhất định hay không [sử dụng hàm khớp] hoặc có chứa một mẫu như vậy [sử dụng chức năng tìm kiếm]

Chủ Đề