Python中文
首页
教程
问答
标签
搜索
登录
注册
Python正则表达式:从字符串中提取卷(mL)
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有以下字符串来提取体积(仅匹配ml,而不是mg/ml)</p> <pre><code>test = [ "10ML", # 10 "10 ML", # 10 "10.5ML", # 10.5 "1MG/1ML", # [] not match "1MG/10ML", # [] not match "10MG/0.5ML", # [] not match " 10ML and 15ML ", # 10, 15 "LODEXA (DEXAMETHASONE) 5 MG/ML INJECTION", # [] "NSS.0.9% 1000 ML (PLASTIC BAG)", # 1000 "110 MLM HIDRASEC (RACECADOTIL)10 ML POWDER FOR 1-30 ML", # 10 ] </code></pre> <p>这是我目前的模式和结果</p> <pre><code>pattern = re.compile("(?<!\/)([0-9]*[.]*[0-9]+)\s*ML(?![\/A-z])") for i, s in enumerate(test): print(test[i], '>>' , pattern.findall(s)) 10ML >> ['10'] 10 ML >> ['10'] 10.5ML >> ['10.5'] 1MG/1ML >> [] 1MG/10ML >> ['0'] # Wrong [] 10MG/0.5ML >> ['.5'] # Wrong [] 10ML and 15ML >> ['10', '15'] LODEXA (DEXAMETHASONE) 5 MG/ML INJECTION >> [] NSS.0.9% 1000 ML (PLASTIC BAG) >> ['1000'] 110 MLM HIDRASEC (RACECADOTIL)10 ML POWDER FOR 1-30 ML >> ['10', '30'] # Wrong ['10'] </code></pre> <p>如你所见, 我从<code>["1MG/10ML", "10MG/0.5ML", "110 MLM HIDRASEC (RACECADOTIL)10 ML POWDER FOR 1-30 ML"]</code>得到了错误的结果。它应该是<code>[[], [], ['10']</code></p> <p>我试着修正我的模式,但还是没能弄明白。请帮我纠正我的模式。谢谢大家!</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>另一个可能更容易阅读:</p> <pre><code>(?<![/\d-])(\d+\.*\d+)\s*ML\b </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
我想从用户inpu创建一个类的实例
10 回答
我想从用户导入值,为此
9 回答
我想从用户那里得到一个整数输入,然后让for循环遍历该数字,然后调用一个函数多次
6 回答
我想从用户那里收到一个列表,并在其中执行一些步骤,然后在步骤完成后将其打印回来,但它没有按照我想要的方式工作
7 回答
我想从用户那里获取输入,并将值传递给(average=dict[x]/6),然后在那里获取resu
2 回答
我想从第一个列表中展示第一个词,然后从第二个列表中展示十个词,以此类推- Python
7 回答
我想从第一个空lin开始解析文本文件
1 回答
我想从简历、简历中提取特定部分
6 回答
我想从给定字典(python)的字符串中删除\u00a9、\u201d和类似的字符。
2 回答
我想从给定的网站Lin下载许多文件扩展名相同的Wget或Python文件
7 回答
我想从网上搜集一些关于抵押贷款的数据
10 回答
我想从网站上删除电子邮件地址
8 回答
我想从网站上读取数据该网站包含可下载的文件,然后我想用python脚本把它发送给oracle如何?
2 回答
我想从网站中提取数据,然后将其显示在我的网页上
2 回答
我想从网页上提取统计数据。
6 回答
我想从网页上解析首都城市,并在用户输入国家时在终端上打印它们
4 回答
我想从色彩图中删除前n个颜色,而不丢失原始颜色数
8 回答
我想从课堂上打印字典里的键
5 回答
我想从费用表中获取学生上次支付的费用,其中学生id=id
8 回答
我想从较低的顺序对多重列表进行排序,但我无法在一行中生成结果
4 回答