Я не могу написать отрицательный взгляд за RE на Python. Вот некоторые из примеров строк (у меня есть более 80 000 текстовых сообщений, подобных этому):
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. значение артериального давления не всегда в конце (или может не отображаться в некоторых записях), а значение прихода / койки не всегда в начале.