Hướng dẫn how do you extract a substring from a string in python regex? - làm thế nào để bạn trích xuất một chuỗi con từ một chuỗi trong python regex?

Giả sử tôi có một chuỗi

import re

text = 'gfgfdAAA1234ZZZuijjk'

try:
    found = re.search['AAA[.+?]ZZZ', text].group[1]
except AttributeError:
    # AAA, ZZZ not found in the original string
    found = '' # apply your error handling

# found: 1234
8 và tôi muốn trích xuất chỉ phần
import re

text = 'gfgfdAAA1234ZZZuijjk'

try:
    found = re.search['AAA[.+?]ZZZ', text].group[1]
except AttributeError:
    # AAA, ZZZ not found in the original string
    found = '' # apply your error handling

# found: 1234
9.

Tôi chỉ biết những gì sẽ là một vài ký tự trực tiếp trước

>>> s = 'gfgfdAAA1234ZZZuijjk'
>>> start = s.find['AAA'] + 3
>>> end = s.find['ZZZ', start]
>>> s[start:end]
'1234'
0, và sau
>>> s = 'gfgfdAAA1234ZZZuijjk'
>>> start = s.find['AAA'] + 3
>>> end = s.find['ZZZ', start]
>>> s[start:end]
'1234'
1 phần tôi quan tâm đến
>>> s = 'gfgfdAAA1234ZZZuijjk'
>>> start = s.find['AAA'] + 3
>>> end = s.find['ZZZ', start]
>>> s[start:end]
'1234'
2.

Với

>>> s = 'gfgfdAAA1234ZZZuijjk'
>>> start = s.find['AAA'] + 3
>>> end = s.find['ZZZ', start]
>>> s[start:end]
'1234'
3 có thể làm một cái gì đó như thế này với một chuỗi:

echo "$STRING" | sed -e "s|.*AAA\[.*\]ZZZ.*|\1|"

Và điều này sẽ cho tôi

>>> s = 'gfgfdAAA1234ZZZuijjk'
>>> start = s.find['AAA'] + 3
>>> end = s.find['ZZZ', start]
>>> s[start:end]
'1234'
2 do đó.

Làm thế nào để làm điều tương tự trong Python?

Aran-Fey

36,9k11 Huy hiệu vàng97 Huy hiệu bạc141 Huy hiệu đồng11 gold badges97 silver badges141 bronze badges

hỏi ngày 12 tháng 1 năm 2011 lúc 9:14Jan 12, 2011 at 9:14

1

Sử dụng biểu thức chính quy - Tài liệu để tham khảo thêm

import re

text = 'gfgfdAAA1234ZZZuijjk'

m = re.search['AAA[.+?]ZZZ', text]
if m:
    found = m.group[1]

# found: 1234

or:

import re

text = 'gfgfdAAA1234ZZZuijjk'

try:
    found = re.search['AAA[.+?]ZZZ', text].group[1]
except AttributeError:
    # AAA, ZZZ not found in the original string
    found = '' # apply your error handling

# found: 1234

CDMP

3004 Huy hiệu bạc9 Huy hiệu Đồng4 silver badges9 bronze badges

Đã trả lời ngày 12 tháng 1 năm 2011 lúc 9:18Jan 12, 2011 at 9:18

Eumiroeumiroeumiro

199K34 Huy hiệu vàng294 Huy hiệu bạc259 Huy hiệu Đồng34 gold badges294 silver badges259 bronze badges

13

>>> s = 'gfgfdAAA1234ZZZuijjk'
>>> start = s.find['AAA'] + 3
>>> end = s.find['ZZZ', start]
>>> s[start:end]
'1234'

Sau đó, bạn cũng có thể sử dụng RegEXP với mô -đun RE, nếu bạn muốn, nhưng điều đó không cần thiết trong trường hợp của bạn.

Đã trả lời ngày 12 tháng 1 năm 2011 lúc 9:17Jan 12, 2011 at 9:17

Lennart Regebrolennart RegebroLennart Regebro

162K41 Huy hiệu vàng221 Huy hiệu bạc251 Huy hiệu Đồng41 gold badges221 silver badges251 bronze badges

5

biểu hiện thông thường

import re

re.search[r"[?

Bài Viết Liên Quan

Chủ Đề