@sgmrt · Post #1567 · 14.12.2022 г., 04:29
[EWL] UPDATE: Train svc btwn #GulCircle and #Lakeside have resumed. Free regular bus and free bridging bus btwn #GulCircle and #Lakeside have ceased. - SMRT
Hashtags
TGINSIGHT SIMILAR POSTS
Изворен канал @pythonotes · Post #65 · 8 апр.
Небольшой трик с регулярными выражениями который редко вижу в чужом коде. Допустим, вам нужно распарсить простой текст и вытащить оттуда пары имя+телефон. Вернуть всё это надо в виде списка словарей. Возьмем очень простой пример текста. >>> text = ''' >>> Alex:8999123456 >>> Mike:+799987654 >>> Oleg:+344456789 >>> ''' Соответственно, для выделения нужных элементов будем использовать группы. Получится такой паттерн: (\w+):([\d+]+) Как мы будем формировать словарь из найденных групп? >>> import re >>> results = [] >>> for match in re.finditer(r"(\w+):([\d+]+)", text): >>> results.append({ >>> "name": match.group(1), >>> "phone": match.group(2) >>> }) >>> print(results) [{'name': 'Alex', 'phone': '8999123456'}, ...] Можно немного сократить запись используя zip >>> results = [] >>> for match in re.finditer(r"(\w+):([\d+]+)", text): >>> results.append(dict(zip(['name', 'phone'], match.groups()))) Но есть способ лучше! Это именованные группы в regex. Можно в паттерне указать имя группы и результат сразу забрать в виде словаря. >>> for match in re.finditer(r"(?P<name>\w+):(?P<phone>[\d+]+)", text): >>> results.append(match.groupdict()) То есть всё что я сделал, это добавил в начале группы (внутри сбокочек) такую запись: (?P<group-name>...) Теперь найденная группа имеет имя и можно обратиться к ней как к элементу списка >>> name = match['name'] Либо забрать сразу весь словарь методом groupdict() >>> match.groupdict() #tricks#regex
Пребарај: #lakeside
@sgmrt · Post #1567 · 14.12.2022 г., 04:29
[EWL] UPDATE: Train svc btwn #GulCircle and #Lakeside have resumed. Free regular bus and free bridging bus btwn #GulCircle and #Lakeside have ceased. - SMRT
Hashtags
@sgmrt · Post #1566 · 14.12.2022 г., 04:15
[EWL] UPDATE: Train svc btwn #GulCircle and #Lakeside have resumed. Free regular bus & free bridging bus is still available btwn #GulCircle and #Lakeside. - SMRT
Hashtags
@sgmrt · Post #1565 · 14.12.2022 г., 04:15
[EWL] UPDATE: Train svc btwn #GulCircle and #Lakeside have resumed. Free regular bus is still available btwn #GulCircle and #Lakeside. Free bridging bus ceased. - SMRT
Hashtags
@sgmrt · Post #1564 · 14.12.2022 г., 03:32
[EWL]: Due to a signalling fault, there is no train svc btwn #GulCircle and #Lakeside. Free regular bus and free bus bridging is available btwn #GulCircle and #Lakeside. - SMRT
Hashtags
@sgmrt · Post #2304 · 04.04.2025 г., 07:39
[EWL] UPDATE: Due to a track fault, please expect an additional 20 mins of travelling time between #Queenstown and #BoonLay. Shuttle train is available between #JurongEast and #Lakeside. Please look out for fellow commuters in need and give a helping hand. We apologise for - SMRT
@sgmrt · Post #2303 · 04.04.2025 г., 07:39
[EWL] UPDATE: Due to a track fault, please expect an additional 20 mins of travelling time between #Queenstown and #BoonLay. Shuttle train is available between #JurongEast and #Lakeside. Please look out for fellow commuters in need and give a helping hand. We apologise for https://bit.ly/3Rz4KwF - SMRT
@sgmrt · Post #2299 · 04.04.2025 г., 06:54
[EWL] UPDATE: Due to a track fault, please expect an additional 20mins of travelling time between #Queenstown and #BoonLay. Shuttle train is available between #JurongEast and #Lakeside. Free regular bus is available between #BuonaVista and #BoonLay. If you have any enquiries, - SMRT
@sgmrt · Post #2297 · 04.04.2025 г., 06:24
[EWL] UPDATE: Due to a track fault, please expect an additional 20mins of travelling time between #Queenstown and #BoonLay. Shuttle train is available between #JurongEast and #Lakeside. Free regular bus is available between #BuonaVista and #BoonLay. Train service is still - SMRT
@sgmrt · Post #2294 · 04.04.2025 г., 05:39
[EWL]: Due to a track fault, please expect an additional 20mins of travelling time between #Queenstown and #BoonLay. Shuttle train is available between #JurongEast and #Lakeside. Free regular bus is available between #BuonaVista and #BoonLay. - SMRT
@sgmrt · Post #2293 · 04.04.2025 г., 05:34
[EWL]: Due to a track fault, please expect an additional 20mins of travelling time between #Queenstown and #BoonLay. Shuttle train are available between #Clementi and #JurongEast and #JurongEast and #Lakeside. Free regular bus is available between #BuonaVista and #BoonLay. - SMRT