簡體   English   中英

在Python中使用RegEx提取內容

[英]Using RegEx in Python to extract contents

晚上好,

我對 Python 和 RegEx 很陌生。 我有以下句子:

-75.76 Card INSURANCEGrabPay ASIA DIRECT to Paid AM 1:16 +100.00 3257 UpAmex Top PM 9:55 +300.00 3257 UpAmex Top PM 9:55 -400.00 Card LTDGrabPay PTE AXS to Paid PM 9:57 (SGD) Amount Details Time here. appear will transactions cashless your All 2022 Feb 15 on made transactions GrabPay points 52 earned points Rewards 475.76 SGD spent Amount 0.24 SGD balance Wallet 2022 Feb 15 Summary statement daily your here

我只想搜索“-”以及之后的金額。

之后,如果需要在一個組中,我想跳過 2 個單詞並提取所有單詞(我將閱讀更多關於組的信息,但現在我需要在一個組中,稍后我可以使用它來拆分和獲取單詞來自那個字符串)就在“付費”之前

例如,我會得到

-75.76 ASIA Direct to
-400 PTE AXS to

什么是正則表達式命令? 另外,是否有一個很好的正則表達式教程可供我閱讀?

我不會給你實際的正則表達式,而是輕輕地把你推向正確的方向。 這樣更令人滿意。

這里的“詞”之間用空格隔開。 所以你要搜索的是一組字符(捕獲),一個空格,再次是字符,空格,字符,空格,然后捕獲所有內容並以“PAID”結尾。 嘗試創建一個正則表達式來做到這一點。

如果您想溫習一下正則表達式,請查看Regex101 這是一個用於測試正則表達式的 web 工具,以及一個調試器和一個備忘單。

現在我已經創建了一個具有 2 個組的匹配項,即 group1 的數量和 group2 的所有單詞(也包括“to”字符串)。

正則表達式:

(-\d+\.?\d+) \w+ \w+ ([\w ]+)?Paid

您可以在這里查看詳細信息: https://regex101.com/r/eUMgdW/1

Python 代碼:

import re
output = re.findall("""(-\d+\.?\d+) \w+ \w+ ([\w ]+)?Paid""", your_input_string)

for found in output:
    print(found)

#('-75.76', 'ASIA DIRECT to ')
#('-400.00', 'PTE AXS to ')

暫無
暫無

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

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