i'm trying to split a string using 2 separator and regex. My string is for example
"test 10 20 middle 30 - 40 mm".
and i would like to split in ["test 10", "20 middle 30", "40 mm"]. So, splittin dropping ' - ' and the space between 2 digits. I tried to do
result = re.split(r'[\d+] [\d+]', s)
> ['test 1', '0 middle 30 - 40 mm']
result2 = re.split(r' - |{\d+} {\d+}', s)
> ['test 10 20 middle 30', '40 mm']
Is there any reg expression to split in ['test 10', '20 middle 30', '40 mm'] ?
You may use
See the regex demo.
Details
(?<=\d)
- a digit must appear immediately on the left\s+
- 1+ whitespaces(?:-\s+)?
- an optional sequence of a-
followed with 1+ whitespaces(?=\d)
- a digit must appear immediately on the right.See the Python demo: