Python Forum
trying to recall a regex for re.split()
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
trying to recall a regex for re.split()
#13
I draw my 20 years old regex for floating numbers
import re

def float_re():
    "Retourne une expression régulière qui matche les nombres flottants littéraux"
    return r"[+-]? *(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?"

pat = re.compile(float_re())

def parse(s):
    mo = pat.match(s)
    if mo:
        return (float(mo.group(0)), s[mo.end():].strip())
    else:
        raise ValueError(
            'Expected string starting with a literal float, got', s)

if __name__ == '__main__':
    a = ['144mHz','432 mHz','1.296GHz','2.304 GHz']
    for s in a:
        print(repr(s), parse(s))
Output:
'144mHz' (144.0, 'mHz') '432 mHz' (432.0, 'mHz') '1.296GHz' (1.296, 'GHz') '2.304 GHz' (2.304, 'GHz')
Reply


Messages In This Thread
RE: trying to recall a regex for re.split() - by Gribouillis - May-19-2022, 08:28 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Split pdf in pypdf based upon file regex standenman 1 2,340 Feb-03-2023, 12:01 PM
Last Post: SpongeB0B
  recall cool_person 1 1,122 May-07-2022, 08:04 AM
Last Post: menator01

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020