簡體   English   中英

Python 正則表達式詞邊界

[英]Python regular expressions word bounaries

您好,我有一個像下面這樣的文本字符串,我正在嘗試使用正則表達式來提取總銷售額,該數量可以在總銷售額\\n43 之后的新行之后找到,例如 43 是總銷售額。 我正在使用以下命令,但我想刪除 Total Sales 和 \\n 並保留數量。 我想知道如何處理這個問題,或者我需要做額外的處理。 謝謝

'\ufeffSacramento Association of REALTORS®\nSingle Family Home Sales by ZIP CODE\nJanuary 2020\nZip        
 Code\nCurrent Month\nLast Month\nLast Year\nYear-to-Date\nTotal Sales\n43\nREO  
 Sales\n0\n45\n40\n43\nMedian Sales Price\n$417,000\n$0\n$410,000\n$400,000\n$417,000\nAverage    
 Price/Square Foot\n$268\nShort Sales\n0\n$253\n$239\nN/A\nAverage Sq Ft of  
 Property\n1,769\n$0\n1,746\n1,843\nN/A\nTotal Listing Inventory 
 *\n69\nConventional\n43\n65\n90\nN/A\nTotal Listing Median Price 
 ∞\n$612,475\nSales\n$417,000\n$574,900\n$547,475\nN/A\nTotal Sales\n29\nREO 
 **strong text**Sales\n0\n37\n16\n29\nMedian Sales Price\n$369,000

我正在使用這樣的命令:

 total_sales = re.findall(r'\bTotal Sales\n\d{2}',data)

返回:

 ['Total Sales\n43',
 'Total Sales\n29',
 'Total Sales\n29',
 'Total Sales\n32',
 'Total Sales\n30',
 'Total Sales\n52',    

使用積極的背后: (?<=Total Sales\\n)\\d{2} 這樣它會檢查Total Sales\\n字符串是否在模式\\d{2} 並且只捕捉那個。

這對你有用:

re.findall(r'\bTotal Sales\n(\d*)',data)

暫無
暫無

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

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