簡體   English   中英

正則表達式可在Python中找到兩個字符串之間的字符串

[英]Regex expression to find strings between two strings in Python

我正在嘗試編寫一個正則表達式,該表達式返回一個位於其他兩個字符串之間的字符串。 例如:我想獲取字符串以及位於字符串“ 15/08/2017”和“ $ 610,000”之間的空格

a='172 211 342    15/08/2017  TRANSFER OF LAND   $610,000        CASH & MTGE'

應該回來

"TRANSFER OF LAND"

到目前為止,這是我拼湊的表達方式:

re.search(r'15/08/2017(.*?)$610,000', a).group(1)

它不返回任何匹配項。 我認為是因為我們還需要考慮表達式中的空格。 有沒有辦法找到兩個字符串之間的字符串而忽略空格?

使用正則表達式Lookbehind & Lookahead

例如:

import re

a='172 211 342 15/08/2017 TRANSFER OF LAND $610,000 CASH & MTGE'
print(re.search(r"(?<=15/08/2017).*?(?=\$610,000)", a).group())

輸出:

 TRANSFER OF LAND 
>>> re.search(r'15/08/2017(.*)\$610,000',a).group(1)
'  TRANSFER OF LAND   '

由於$是正則表達式元字符(代表邏輯行的結尾),因此您需要對其進行轉義以用作文字'$'

可能更容易使用find

a = '172 211 342 15/08/2017 TRANSFER OF LAND $610,000 CASH & MTGE'
b = '15/08/2017'
c = '$610,000'

a[a.find(b) + len(b):a.find(c)].strip()

“土地轉讓”

暫無
暫無

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

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