我無法在python中寫負向後視RE。這些是一些示例字符串(我有超過80,000條這樣的文本消息);python中的負向後視RE
patient 100/64 bp is 120/90 *some string* 100H/64 patient bp 120/90 location 100c/64 patient bp120/90 *some string* *some string* 100/64 patient *this string with no 'bp' value*
這裏120/90
表示患者的血壓。我只是想提取'病房#/牀#'(例如:100/64
,100H/64
,100c/64
,100/64
)而不是血壓。由於它需要固定長度,因此我無法寫出否定後向斷言。這裏是我的RE:
(?<!bp.*)(\b[0-9]{1,3}[a-zA-Z]?)\/([0-9]{1,3}[a-zA-Z]?\b)
這是行不通的,因爲我有在負回顧後.*
..請幫助我在此。
編輯:每個患者記錄都以新行開始,並且我在Hadoop處理的文本文件中記錄這些記錄。血壓值並不總是在最後(或者它可能不會出現在某些記錄中)並且病房/牀位值並不總是在開始處。
不知道爲什麼你需要的回顧後。如果這些是單獨的行,爲什麼不把所有東西都放到第一個空間?不適合你嗎? – rajasaur
我編輯過蜇傷,病房/病牀並不總是在開始。對於那個 – Maggie
是否輸入了一系列python字符串在列表中?一個字符串與每個患者記錄開始一個新行?如果你給Python輸入格式,有人可以爲你做更多的事情。 – Paddy3118