簡體   English   中英

使用正則表達式解析年份和文本

[英]Year and Text Parsing with Regex

我正在嘗試以Apr 2022 - Present + (the text after until the next date)Apr 1874 - Dec 1958 + (the text after until the next date)的格式從文本中提取數據,以便稍后使用 NLP 進行處理.

例子:

2018 年 4 月至今 lm Senior NurseWoodfield Hospital, Ipswich© 通過監測生命體征和用葯為 ICU 病房進行重大外科手術后的 6 名老年患者提供日常護理© 與醫生合作制定住院后的長期護理計划。監督 4 名認證護士在單位工作的助理 (CNA) 2014 年 2 月 - 2018 年 3 月 mm 注冊護士 Ashfield Care Home, Kent© 與單位經理一起照顧 36 名有復雜健康需求的體弱和老年患者。© 負責按照護理助產士標准安全用葯Council guidelines.© 管理單位的收入和預算,包括患者護理、設備和員工用品的資金分配。2043 年 11 月 - 2014 年 1 月 lm Healthcare AssistantChase Care Home, Suffolk« 負責老年人的安全和福祉痴呆症和具有挑戰性的行為。與姑息治療團隊合作,幫助為患者提供臨終關懷。

預期結果:[“2018 年 4 月至今 lm Senior NurseWoodfield Hospital, Ipswich© 通過監測生命體征和給葯,為 ICU 病房進行重大外科手術后的 6 名老年患者提供日常護理© 與醫生合作制定住院后的長期護理計划.Supervised 4 Certified Nursistants (CNAs) working in the unitFeb, "Feb 2014 - Mar 2018 mm Registered NurseAshfield Care Home, Kent© 與單位經理一起照顧 36 名身體虛弱且有復雜健康需求的老年患者。© 負責根據護理助產委員會指南安全給葯。© 管理單位的收入和預算,包括用於患者護理、設備和員工用品的資金分配”,“2043 年 11 月 - 2014 年 1 月 lm Healthcare AssistantChase Care Home, Suffolk« 負責為了患有痴呆症和具有挑戰性行為的老年人的安全和福祉。與姑息治療團隊合作,幫助實現最終目標對患者的生命關懷。”]

這是我寫的代碼。 我無法修復它

year_pattern = re.compile(r"((?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[.]?[\s-]\d{4}) - (?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[.]?[\s-]\d{4} | (Present |present")

year = ''.join(year_pattern.findall(text)).strip()

可能不是最好看的解決方案,但這對我有用:

pattern = "(?=Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec|present|Present [0-9]{4} -)"
splitted = re.split(pattern, text)
print(splitted)
result = []
i = 0
while i < len(splitted):
  result.append(splitted[i] + splitted[i + 1])
  i += 2

print(result)

請您嘗試以下操作:

pat = re.compile(r"((?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\.?[\s-]\d{4} - (?:(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\.?[\s-]\d{4}|[Pp]resent))")

m = pat.split(text)
print([m[i] + m[i+1] for i in range(1, len(m), 2)])

暫無
暫無

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

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