Le 05/08/2021 à 11:40, Jach Feng a écrit :
I want to distinguish between numbers with/without a dot attached:text = 'ch 1. is\nch 23. is\nch 4 is\nch 56 is\n' re.compile(r'ch \d{1,}[.]').findall(text)['ch 1.', 'ch 23.']re.compile(r'ch \d{1,}[^.]').findall(text)['ch 23', 'ch 4 ', 'ch 56 '] I can guess why the 'ch 23' appears in the second list. But how to get rid of it? --Jach
>>> import re >>> text = 'ch 1. is\nch 23. is\nch 4 is\nch 56 is\n' >>> re.findall(r'ch \d+\.', text) ['ch 1.', 'ch 23.'] >>> re.findall(r'ch \d+(?!\.)', text) # (?!\.) for negated look ahead ['ch 2', 'ch 4', 'ch 56'] -- https://mail.python.org/mailman/listinfo/python-list
