簡體   English   中英

在 python 中使用正則表達式在冒號或括號后提取字符串

[英]Extract string after colon or parenthesis with regex in python

輸入:

Subject: Representation of Territories? (Was: Re: The $11,250,000,000,000 lunch)

output:

Representation of Territories

輸入:

Subject: Re: Top Ten Responses to Ed's Top Ten Lists

output:

Top Ten Responses to Ed's Top Ten Lists

您可以使用可選的捕獲組來執行此操作:

import re

text_1 = "Subject: Representation of Territories? (Was: Re: The $11,250,000,000,000 lunch)"
text_2 = "Subject: Re: Top Ten Responses to Ed's Top Ten Lists"

regex = re.compile(r"Subject:\s"
                   r"(?:\w{2}:\s)?"  # Optional capture group
                   r"((\w+[']?\w+?\s?)+\w)"
                   r"\??",
                   re.I
                   )

res_1 = re.search(regex, text_1).group(1)
res_2 = re.search(regex, text_2).group(1)

print(res_1)
print(res_2)

返回:

Representation of Territories
Top Ten Responses to Ed's Top Ten Lists

另外,根據評論中的要求:

text_3 = "Subject: Re: F<O>CUS/HEALTH: ONE PAYER SYSTEM B.S."
regex_3 = re.compile(r"(.*:\s)+(.*)")
res_3 = re.search(regex_3, text_3).group(2)
print(res_3)

返回:

ONE PAYER SYSTEM B.S.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM