我有三个字符串如下:
Levofloxacin 500mg/100mL
Levofloxacin 500mg
Procaterol Hydrochloride …………… 25μg
第一行,我想在我的结果中得到'mg'而没有'mL'。
第二行,我想要'mg'。
第三行,我想得到'ug'。
我尝试过regexp模式:
(?!(.*[ ]{1}[0-9]+))[a-zA-Zμ]+
但是,第一行总是返回'mg'和'mL'......
我怎么能用regexp获得'mg'?
任何建议都将受到赞赏。
答案 0 :(得分:0)
正如评论部分所述,试试这个正则表达式:
^\D*[\d.]+\K[a-zμ]+
<强>解释强>
^
- 断言字符串的开头\D*
- 匹配任何非数字字符的出现次数[\d.]+
- 匹配任意字符<或li>的1次出现
\K
- 删除目前已匹配的内容[a-zμ]+
- 这就是你想要的。这将包含在第一个数字后出现的mg,ml等单位。如果还有其他特殊字符,例如μ
,您也可以在此字符列表中添加它们