【发布时间】:2019-12-05 19:32:51
【问题描述】:
我想构建一个正则表达式,它捕获字符串中的所有模式,其中在测量单位(ml、mg、kg 等)之前存在整数或浮点数。我当前的正则表达式只考虑整数并在有空格时中断。我想在我的代码中处理这些。
p = re.compile('[0-9](?:mg|kg|ml|q.s.|ui|M|g|µg)')
x = '0.9mg is the approximate dosage'
z = p.findall(x)
print(z)
这不适用于小数,并且在有空格时也会中断。
要捕获的预期模式是:
Examples: 0.9 mg, 9 mg, 9mg, 0.9mg
有关此的任何帮助
在代码中使用正则表达式:
mg = []
newregex = r"[0-9\.\s]+(?:mg|kg|ml|q.s.|ui|M|g|µg)"
for s in zz:
for e in extracteddata:
v = re.search(newregex,extracteddata,flags=re.IGNORECASE|re.MULTILINE)
if v:
mg.append(v.group(0))
【问题讨论】:
标签: python regex python-3.x