fork download
  1. import re
  2. pattern = re.compile(r'(?<![/\d])(?<!\d[.-])(\d+(?:\.\d+)?)\s*ML\b(?!/)', re.A)
  3. test = ["10ML", "10 ML", "10.5ML", "1MG/1ML", "1MG/10ML", "10MG/0.5ML", " 10ML and 15ML ",
  4. "LODEXA (DEXAMETHASONE) 5 MG/ML INJECTION", "NSS.0.9% 1000 ML (PLASTIC BAG)",
  5. "110 MLM HIDRASEC (RACECADOTIL)10 ML POWDER FOR 1-30 ML"]
  6. for i, s in enumerate(test):
  7. print(test[i], '>>' , pattern.findall(s))
Success #stdin #stdout 0.03s 9332KB
stdin
Standard input is empty
stdout
10ML >> ['10']
10 ML >> ['10']
10.5ML >> ['10.5']
1MG/1ML >> []
1MG/10ML >> []
10MG/0.5ML >> []
   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']