python re 正則匹配 示例

記錄一些python正則匹配的實際應用場景示例,持續更新。
測試環境:python3

1. 目標場景: 提取不跟在特定字符後的指定字符

示例問題:

血氧飽和度提取 輸入字符形式類似 “SpO296”或者“SPO296”
96 爲目標數值,SpO2 中的O2爲氧氣 。所以問題可以轉化爲提取連續的數字,數字前的字符不能是SpO 或者SPO.

示例代碼:

input_str='SpO296'
import re
match_obj = re.search(r'(?<!SPO|SpO)\d+', input_str)
if match_obj:
    print(match_obj.group())

提取結果爲: 96

2.目標場景: 時間描述抽取

示例問題:

抽取一段文本中的全部時間點,形式爲’xxx前’
例如:3天前,數日前,15分鐘前 等等

示例代碼

text_str='20余天前,xxx,數星期前,3天前,4天前,幾分鐘前'
import re
pattern=r'[\d數半幾]+[餘]*[天|日|星期|周|月|年|小時|分鐘]+[餘]*前'
res = re.findall(pattern,text_str)
print(res)

提取結果爲: [‘20余天前’, ‘數星期前’, ‘3天前’, ‘4天前’, ‘幾分鐘前’]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章