Форум сайта python.su
0
учу регулярки:
>>> >>> import re >>> text2 = "John will be out from 25.02.2018 till 10.3.2018" >>> datepattern2 = re.compile('\d+.\d+.\d+') >>> for z3 in datepattern2.finditer(text2): ... print(z3.group()) ... 25.02.2018 10.3.2018 ======================
>>> >>> datepattern3 = re.compile('([0-9]).([0-9]).([0-9])') >>> for z3 in datepattern3.finditer(text2): ... print(z3.group()) ... 2.201 0.3.2 ======================
>>> >>> datepattern3 = re.compile('([0-9]{2}).([0-9]{2}).([0-9]{4})') >>> for z3 in datepattern3.finditer(text2): ... print(z3.group()) ... 25.02.2018 ====================== >>> datepattern3 = re.compile('[0-9]{2}.[0-9]{2}.[0-9]{4}') >>> for z3 in datepattern3.finditer(text2): ... print(z3.group()) ... 25.02.2018 =======================
Отредактировано Florenzo (Март 9, 2018 17:24:11)
Офлайн
76
Здесь ищешь только один символ в группе
datepattern3 = re.compile(r'([0-9]+).([0-9]+).([0-9]+)') for z3 in datepattern3.finditer(text2): print(z3.group())
datepattern3 = re.compile('([0-9]{2}).([0-9]{1,2}).([0-9]{4})') for z3 in datepattern3.finditer(text2): print(z3.group()) datepattern3 = re.compile('[0-9]{2}.[0-9]{1,2}.[0-9]{4}') for z3 in datepattern3.finditer(text2): print(z3.group())
Офлайн
857
FlorenzoТочка означает любой символ всегда. Точка совпадёт как с точкой, так и с цифрой, так и с буквой.
так дает обе даты - все хорошо
>>> import re >>> >>> re.findall(r'\d.\d', 'abc 123 def 4a5 ghi 6.7 jkl') ['123', '4a5', '6.7'] >>>
>>> import re >>> >>> re.findall(r'\d\.\d', 'abc 123 def 4a5 ghi 6.7 jkl') ['6.7'] >>>
Офлайн