<p>我想构建一个regex,它捕获字符串中的所有模式,其中整数或浮点数在度量单位(ml、mg、kg等)之前。我现在的正则表达式只考虑整数和有空格时的中断。我想在我的代码中处理这些。你知道吗</p>
<pre><code>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)
</code></pre>
<p>它不适用于小数,当有空格时也会中断。你知道吗</p>
<p>要捕获的预期模式包括:</p>
<pre><code>Examples: 0.9 mg, 9 mg, 9mg, 0.9mg
</code></pre>
<p>有什么帮助吗</p>
<p>在代码中使用正则表达式:</p>
<pre><code>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))
</code></pre>