Hướng dẫn how do you add re in python? - làm thế nào để bạn thêm re trong python?
Một biểu thức chính quy (regex) là một chuỗi các ký tự xác định mẫu tìm kiếm. Ví dụ,Regular Expression (RegEx) is a sequence of characters that defines a search pattern. For example, Show
Mã trên xác định một mẫu regex. Mẫu là: bất kỳ chuỗi năm chữ cái nào bắt đầu bằng một và kết thúc bằng s.any five letter string starting with a and ending with s. Một mẫu được xác định bằng regex có thể được sử dụng để khớp với một chuỗi.
0
Cuộc thi đấu 1 2
import re |
Biểu hiện | Sợi dây | Matched? |
---|---|---|
8 | 9 | Không có trận đấu |
0 | Cuộc thi đấu | |
1 | Không có trận đấu | |
0 | Cuộc thi đấu |
import re
1import re
2
3import re
- Python có một mô -đun có tên
4 để làm việc với Regex. Đây là một ví dụ:import re
- Ở đây, chúng tôi đã sử dụng hàm
5 để tìm kiếm mẫu trong Test_String. Phương thức trả về một đối tượng khớp nếu tìm kiếm thành công. Nếu không, nó trả vềimport re
6.import re
Có một số chức năng khác được xác định trong mô -đun RE để hoạt động với Regex. Trước khi chúng ta khám phá điều đó, chúng ta hãy tìm hiểu về các biểu hiện thường xuyên.
- Nếu bạn đã biết những điều cơ bản của Regex, hãy nhảy đến Python Regex.
- Chỉ định mẫu bằng cách sử dụng regex
Để chỉ định các biểu thức thông thường, Metacharacters được sử dụng. Trong ví dụ trên,
import re
7 và import re
8 là Metacharacters.PeriodMetacharacters
Biểu hiện | Sợi dây | Matched? |
---|---|---|
Metacharacters là những nhân vật được giải thích theo một cách đặc biệt bởi một động cơ Regex. Đây là danh sách các Metacharacters: | 9 | Không có trận đấu |
0 | Không có trận đấu | |
0 | Không có trận đấu | |
0 | Cuộc thi đấu |
import re
1Caretimport re
2starts with a certain character.
Biểu hiện | Sợi dây | Matched? |
---|---|---|
3 | 9 | Không có trận đấu |
0 | Không có trận đấu | |
0 | Không có trận đấu | |
0 | 0 | Không có trận đấu |
0 | Cuộc thi đấu |
import re
1Dollarimport re
2ends with a certain character.
Biểu hiện | Sợi dây | Matched? |
---|---|---|
3 | 9 | Không có trận đấu |
0 | Không có trận đấu | |
0 | Không có trận đấu |
Cuộc thi đấuStar
import re
1zero or more occurrences of the pattern left to it.
Biểu hiện | Sợi dây | Matched? |
---|---|---|
2 | 3 | Không có trận đấu |
0 | Không có trận đấu | |
0 | Không có trận đấu | |
0 | Cuộc thi đấu | |
1 | Không có trận đấu |
import re
0PlusCuộc thi đấuone or more occurrences of the pattern left to it.
Biểu hiện | Sợi dây | Matched? |
---|---|---|
1 | 3 | Python có một mô -đun có tên 4 để làm việc với Regex. Đây là một ví dụ: |
0 | Không có trận đấu | |
0 | Không có trận đấu | |
0 | Cuộc thi đấu | |
1 | Không có trận đấu |
import re
0Question MarkCuộc thi đấuzero or one occurrence of the pattern left to it.
Biểu hiện | Sợi dây | Matched? |
---|---|---|
1 | 3 | Không có trận đấu |
0 | Không có trận đấu | |
0 | Cuộc thi đấu | |
0 | Cuộc thi đấu | |
1 | Không có trận đấu |
import re
0BracesCuộc thi đấu
Biểu hiện | Sợi dây | Matched? |
---|---|---|
1 | 2 | Không có trận đấu |
3 | Python có một mô -đun có tên 4 để làm việc với Regex. Đây là một ví dụ: | |
Ở đây, chúng tôi đã sử dụng hàm 5 để tìm kiếm mẫu trong Test_String. Phương thức trả về một đối tượng khớp nếu tìm kiếm thành công. Nếu không, nó trả về 6. | Có một số chức năng khác được xác định trong mô -đun RE để hoạt động với Regex. Trước khi chúng ta khám phá điều đó, chúng ta hãy tìm hiểu về các biểu hiện thường xuyên. | |
Nếu bạn đã biết những điều cơ bản của Regex, hãy nhảy đến Python Regex. | Chỉ định mẫu bằng cách sử dụng regex |
Để chỉ định các biểu thức thông thường, Metacharacters được sử dụng. Trong ví dụ trên,
import re
7 và import re
8 là Metacharacters.
Biểu hiện | Sợi dây | Matched? |
---|---|---|
Metacharacters | Metacharacters là những nhân vật được giải thích theo một cách đặc biệt bởi một động cơ Regex. Đây là danh sách các Metacharacters: | [].^$*+? {} () \ | |
9 - dấu ngoặc vuông | Dấu ngoặc vuông chỉ định một tập hợp các ký tự bạn muốn khớp. | |
0 | Không có trận đấu |
# Program to extract numbers from a string
import re
string = 'hello 12 hi 89. Howdy 34'
pattern = '\d+'
result = re.findall(pattern, string)
print(result)
# Output: ['12', '89', '34']
1Alternation1 trận đấu
Biểu hiện | Sợi dây | Matched? |
---|---|---|
2 | 2 trận đấu | Không có trận đấu |
3 | 4 | |
5 trận đấu | Ở đây, 0 sẽ khớp nếu chuỗi bạn đang cố gắng khớp chứa bất kỳ 1, 7 hoặc 8 nào. |
Bạn cũng có thể chỉ định một loạt các ký tự bằng cách sử dụng
# Program to extract numbers from a string
import re
string = 'hello 12 hi 89. Howdy 34'
pattern = '\d+'
result = re.findall(pattern, string)
print(result)
# Output: ['12', '89', '34']
9 bên trong dấu ngoặc vuông.
import re
string = 'Twelve:12 Eighty nine:89.'
pattern = '\d+'
result = re.split(pattern, string)
print(result)
# Output: ['Twelve:', ' Eighty nine:', '.']
0 giống như
import re
string = 'Twelve:12 Eighty nine:89.'
pattern = '\d+'
result = re.split(pattern, string)
print(result)
# Output: ['Twelve:', ' Eighty nine:', '.']
1.Group
import re
string = 'Twelve:12 Eighty nine:89.'
pattern = '\d+'
result = re.split(pattern, string)
print(result)
# Output: ['Twelve:', ' Eighty nine:', '.']
2 giống như
import re
string = 'Twelve:12 Eighty nine:89.'
pattern = '\d+'
result = re.split(pattern, string)
print(result)
# Output: ['Twelve:', ' Eighty nine:', '.']
3.
Biểu hiện | Sợi dây | Matched? |
---|---|---|
34 | 36 | Không có trận đấu |
37 | 1 trận đấu (khớp tại 37) | |
39 | 2 trận đấu (tại 40) |
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
41 - BackslashBackslashBacklash
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
41 được sử dụng để thoát khỏi các nhân vật khác nhau bao gồm tất cả các metacharacters. Ví dụ,import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
43 khớp nếu một chuỗi chứa import re
8 theo sau là
# Program to extract numbers from a string
import re
string = 'hello 12 hi 89. Howdy 34'
pattern = '\d+'
result = re.findall(pattern, string)
print(result)
# Output: ['12', '89', '34']
1. Ở đây, import re
8 không được giải thích bởi một động cơ Regex theo một cách đặc biệt.Nếu bạn không chắc chắn nếu một nhân vật có ý nghĩa đặc biệt hay không, bạn có thể đặt
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
41 trước nó. Điều này đảm bảo nhân vật không được đối xử theo một cách đặc biệt.Trình tự đặc biệt
Trình tự đặc biệt làm cho các mẫu thường được sử dụng dễ dàng hơn để viết. Đây là danh sách các chuỗi đặc biệt:
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
48 - khớp nếu các ký tự được chỉ định ở đầu chuỗi.
Biểu hiện | Sợi dây | Matched? |
---|---|---|
34 | 36 | Không có trận đấu |
37 | Không có trận đấu |
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
37
Biểu hiện | Sợi dây | Matched? |
---|---|---|
34 | 36 | Không có trận đấu |
37 | Không có trận đấu | |
37 | Không có trận đấu | |
37 | 1 trận đấu (khớp tại 37) | Không có trận đấu |
37 | Không có trận đấu | |
37 | Không có trận đấu |
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
37not at the beginning or end of a word.
Biểu hiện | Sợi dây | Matched? |
---|---|---|
1 trận đấu (khớp tại 37) | 36 | Không có trận đấu |
37 | Không có trận đấu | |
37 | Không có trận đấu | |
37 | 1 trận đấu (khớp tại 37) | Không có trận đấu |
37 | Không có trận đấu | |
37 | Không có trận đấu |
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
37
Biểu hiện | Sợi dây | Matched? |
---|---|---|
1 trận đấu (khớp tại 37) | 39 | 2 trận đấu (tại 40) |
41 - Backslash | Không có trận đấu |
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
37
Biểu hiện | Sợi dây | Matched? |
---|---|---|
1 trận đấu (khớp tại 37) | 39 | 2 trận đấu (tại 40) |
41 - Backslash | Không có trận đấu |
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
37
Biểu hiện | Sợi dây | Matched? |
---|---|---|
1 trận đấu (khớp tại 37) | 39 | 2 trận đấu (tại 40) |
41 - Backslash | Không có trận đấu |
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
37
Biểu hiện | Sợi dây | Matched? |
---|---|---|
1 trận đấu (khớp tại 37) | 39 | 2 trận đấu (tại 40) |
41 - Backslash | Không có trận đấu |
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
37
Biểu hiện | Sợi dây | Matched? |
---|---|---|
34 | 36 | Không có trận đấu |
37 | Không có trận đấu |
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
37
Biểu hiện | Sợi dây | Matched? |
---|---|---|
34 | 36 | Không có trận đấu |
41 - Backslash | Không có trận đấu |
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
37
Biểu hiện | Sợi dây | Matched? |
---|---|---|
34 | 36 | 2 trận đấu (tại 40) |
41 - Backslash | Không có trận đấu | |
37 | Không có trận đấu |
37 To build and test regular expressions, you can use RegEx tester tools such as regex101. This tool not only helps you in creating regular expressions, but it also helps you learn it.import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
1 trận đấu (khớp tại
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
37)import re pattern = '^a...s$' test_string = 'abyss' result = re.match(pattern, test_string) if result: print("Search successful.") else: print("Search unsuccessful.") 39
2 trận đấu (tại
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
40)import re
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
41 - Backslashre.findall()
Backlash
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
41 được sử dụng để thoát khỏi các nhân vật khác nhau bao gồm tất cả các metacharacters. Ví dụ,import re pattern = '^a...s$' test_string = 'abyss' result = re.match(pattern, test_string) if result: print("Search successful.") else: print("Search unsuccessful.") 43 khớp nếu một chuỗi chứa import re8 theo sau là # Program to extract numbers from a string import re string = 'hello 12 hi 89. Howdy 34' pattern = '\d+' result = re.findall(pattern, string) print(result) # Output: ['12', '89', '34'] 1. Ở đây, import re8 không được giải thích bởi một động cơ Regex theo một cách đặc biệt.
# Program to extract numbers from a string
import re
string = 'hello 12 hi 89. Howdy 34'
pattern = '\d+'
result = re.findall(pattern, string)
print(result)
# Output: ['12', '89', '34']
Nếu bạn không chắc chắn nếu một nhân vật có ý nghĩa đặc biệt hay không, bạn có thể đặt
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
41 trước nó. Điều này đảm bảo nhân vật không được đối xử theo một cách đặc biệt.re.split()
Trình tự đặc biệt
Trình tự đặc biệt làm cho các mẫu thường được sử dụng dễ dàng hơn để viết. Đây là danh sách các chuỗi đặc biệt:
import re
string = 'Twelve:12 Eighty nine:89.'
pattern = '\d+'
result = re.split(pattern, string)
print(result)
# Output: ['Twelve:', ' Eighty nine:', '.']
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
48 - khớp nếu các ký tự được chỉ định ở đầu chuỗi.import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
49
import re
string = 'Twelve:12 Eighty nine:89 Nine:9.'
pattern = '\d+'
# maxsplit = 1
# split only at the first occurrence
result = re.split(pattern, string, 1)
print(result)
# Output: ['Twelve:', ' Eighty nine:89 Nine:9.']
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
50re.sub()
Cuộc thi đấu
re.sub(pattern, replace, string)
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
51import re pattern = '^a...s$' test_string = 'abyss' result = re.match(pattern, test_string) if result: print("Search successful.") else: print("Search unsuccessful.") 52 - khớp nếu các ký tự được chỉ định ở đầu hoặc cuối của một từ.
# Program to remove all whitespaces
import re
# multiline string
string = 'abc 12\
de 23 \n f45 6'
# matches all whitespace characters
pattern = '\s+'
# empty string
replace = ''
new_string = re.sub(pattern, replace, string)
print(new_string)
# Output: abc12de23f456
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
53import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
54
import re
# multiline string
string = 'abc 12\
de 23 \n f45 6'
# matches all whitespace characters
pattern = '\s+'
replace = ''
new_string = re.sub(r'\s+', replace, string, 1)
print(new_string)
# Output:
# abc12de 23
# f45 6
re.subn()
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
55import re pattern = '^a...s$' test_string = 'abyss' result = re.match(pattern, test_string) if result: print("Search successful.") else: print("Search unsuccessful.") 56
# Program to remove all whitespaces
import re
# multiline string
string = 'abc 12\
de 23 \n f45 6'
# matches all whitespace characters
pattern = '\s+'
# empty string
replace = ''
new_string = re.subn(pattern, replace, string)
print(new_string)
# Output: ('abc12de23f456', 4)
re.search()
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
57Nếu tìm kiếm thành công,
import re
25 sẽ trả về một đối tượng khớp; Nếu không, nó trả về import re
6.import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
0Ví dụ 5: Re.Search ()
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
1Ở đây, khớp chứa một đối tượng khớp.
Đối tượng khớp
Bạn có thể nhận các phương thức và thuộc tính của một đối tượng khớp bằng hàm Dir ().
Một số phương thức và thuộc tính thường được sử dụng của các đối tượng khớp là:
match.group()
Phương thức
import re
28 trả về một phần của chuỗi trong đó có một trận đấu.Ví dụ 6: Đối tượng khớp
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
2Ở đây, biến khớp chứa một đối tượng khớp.
Mẫu
import re
29 của chúng tôi có hai nhóm con import re
30 và import re
31. Bạn có thể nhận được một phần của chuỗi các nhóm phụ được đặt dấu ngoặc đơn này. Đây là cách:import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
3match.start (), match.end () và match.span ()
Hàm
import re
32 trả về chỉ số bắt đầu của chuỗi con phù hợp. Tương tự, import re
33 trả về chỉ số cuối của chuỗi con phù hợp.import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
4Hàm
import re
34 trả về một tuple chứa chỉ mục bắt đầu và kết thúc của phần phù hợp.import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
5Match.re và Match.String
Thuộc tính
import re
4 của một đối tượng phù hợp trả về một đối tượng biểu thức chính quy. Tương tự, thuộc tính import re
36 trả về chuỗi được truyền.import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
6Chúng tôi đã đề cập tất cả các phương pháp thường được sử dụng được xác định trong mô -đun
import re
4. Nếu bạn muốn tìm hiểu thêm, hãy truy cập mô -đun Python 3 Re.Sử dụng tiền tố r trước khi regex
Khi tiền tố R hoặc R được sử dụng trước khi biểu thức thông thường, nó có nghĩa là chuỗi thô. Ví dụ:
import re
string = 'Twelve:12 Eighty nine:89 Nine:9.'
pattern = '\d+'
# maxsplit = 1
# split only at the first occurrence
result = re.split(pattern, string, 1)
print(result)
# Output: ['Twelve:', ' Eighty nine:89 Nine:9.']
0 là một dòng mới trong khi import re
39 có nghĩa là hai ký tự: dấu gạch chéo ngược import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
41 theo sau là
import re
# multiline string
string = 'abc 12\
de 23 \n f45 6'
# matches all whitespace characters
pattern = '\s+'
replace = ''
new_string = re.sub(r'\s+', replace, string, 1)
print(new_string)
# Output:
# abc12de 23
# f45 6
1.Backlash
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
41 được sử dụng để thoát khỏi các nhân vật khác nhau bao gồm tất cả các metacharacters. Tuy nhiên, sử dụng tiền tố R làm cho import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
41 coi là một đặc tính bình thường.Ví dụ 7: Chuỗi thô sử dụng tiền tố r
import re
pattern = '^a...s$'
test_string = 'abyss'
result = re.match(pattern, test_string)
if result:
print("Search successful.")
else:
print("Search unsuccessful.")
7