簡體   English   中英

正則表達式(Python)-匹配所需單詞之前的所有內容

[英]Regex (Python) - Match everything before desired word

我只是想在字符串“ From:”的首次出現之前刪除每個字符和回車符等文件。

文字范例-

“文件名123文件日期xxxxx

其他文字

來自:john@example.com ....“

我似乎不能只抓住“發件人:”之前的所有內容,我認為這是一條簡單的行,但沒有。 任何幫助將不勝感激。 非常感謝

您可以嘗試此正則表達式,

(?s).*?From(.*)

並替換為\\ 1

說明:

(?s) --> Enables . to match new lines
.*?From --> captures anything before first occurrence of From
(.*) --> Matches rest of the input and stores it in group 1

演示, https://regex101.com/r/Q8eFKL/2

使用積極的前瞻:

>>> re.findall('^(.*)(?=From:)', your_text)

這將阻止它匹配不包含“發件人:”的模式,因此其格式可能不符合您的期望。

Dot(。)匹配換行符以外的所有內容。 所以我的方法是:

(.|\n|\r)*(?=From:)
  • 第一選擇。
    • 匹配任何字符(行終止符除外)
  • 第二種選擇\\ n
    • \\ n與換行符(ASCII 10)匹配
  • 第三替代\\ r
    • \\ r匹配回車符(ASCII 13)
  • 正前瞻(?=來自:)
    • 斷言以下正則表達式匹配From:匹配字符
      發件人:從字面上看(區分大小寫)

暫無
暫無

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

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