python 中具有不同规范的正则表达式函数
Regex function in python with different specifications
我有一列文本数据,我正在使用 ','.join() 函数将其转换为字符串。数据如下所示。我只想从转换后的字符串中提取 BP/Blood Pressure/ Systolic Blood Pressure 及其相应值。
我知道我必须使用 re.findall()。但是我无法获得这些值,因为有多个条件。
我想要下面显示的图像标记线的 BP 值。
我希望使用正则表达式函数提取所有这些变体。
我现在的代码只有第一个变体。我想进一步扩展它以获得所有变化。
list_items = file['Text'].tolist()
listToStr = ','.join([str(elem) for elem in list_items])
def get_BP(s):
#s = s.lower()
#print(s)
#regex = r'(BP \d+\/\d+)'
regex = r'((?:BP|Blood Pressure) \d+\/\d+)'
try:
return re.findall(regex,s)
except:
pass
x = get_BP(listToStr)
x
我最终想要的输出是这样的。
['BP 98/60', 'BP 108/60', 'BP 96/60', 'BP 120/75', 'Blood Pressure 106/63',
'B/P - Systolic 104','B/P - Diastolic 72','BP-Sitting 109/70 mmH',
'BP: 101/72','Systolic Blood Pressure 100 mmHg','Diastolic Blood Pressure 68 mmHg']
由于我是正则表达式函数的新手,任何帮助将不胜感激。
谢谢。
根据具有所需结果的列表,您可以使用交替 |
来指定所有变体。
\b(?:BP:?(?:-Sitting)?|Blood Pressure) \d+/\d+(?: mmHg?)?|B/P - (?:Sys|Dias)tolic \d+|(?:Sys|Dias)tolic Blood Pressure \d+ \w+\b
我有一列文本数据,我正在使用 ','.join() 函数将其转换为字符串。数据如下所示。我只想从转换后的字符串中提取 BP/Blood Pressure/ Systolic Blood Pressure 及其相应值。
我知道我必须使用 re.findall()。但是我无法获得这些值,因为有多个条件。
我想要下面显示的图像标记线的 BP 值。
我希望使用正则表达式函数提取所有这些变体。
我现在的代码只有第一个变体。我想进一步扩展它以获得所有变化。
list_items = file['Text'].tolist()
listToStr = ','.join([str(elem) for elem in list_items])
def get_BP(s):
#s = s.lower()
#print(s)
#regex = r'(BP \d+\/\d+)'
regex = r'((?:BP|Blood Pressure) \d+\/\d+)'
try:
return re.findall(regex,s)
except:
pass
x = get_BP(listToStr)
x
我最终想要的输出是这样的。
['BP 98/60', 'BP 108/60', 'BP 96/60', 'BP 120/75', 'Blood Pressure 106/63',
'B/P - Systolic 104','B/P - Diastolic 72','BP-Sitting 109/70 mmH',
'BP: 101/72','Systolic Blood Pressure 100 mmHg','Diastolic Blood Pressure 68 mmHg']
由于我是正则表达式函数的新手,任何帮助将不胜感激。
谢谢。
根据具有所需结果的列表,您可以使用交替 |
来指定所有变体。
\b(?:BP:?(?:-Sitting)?|Blood Pressure) \d+/\d+(?: mmHg?)?|B/P - (?:Sys|Dias)tolic \d+|(?:Sys|Dias)tolic Blood Pressure \d+ \w+\b