Регулярные выражения иногда могут быть просто монструозными. Выглядеть это может крайне запутанно. Сами регэкспы и без того история непростая, а когда это длинный паттерн на несколько десятков знаков, разобрать там что-либо становится не просто.
Но на помощь приходит Python и его стремление сделать нашу жизнь проще!
В функциях регулярок можно после паттерна указывать флаги, один из которых позволяет писать паттерны более свободно. А именно, добавлять пробелы и переносы, которые будут игнорированы. В результате мы можем разбить паттерн на строки и добавить комментов.
Чтобы это сработало нужно добавить флаг re.VERBOSE. Пробелы в паттерне теперь следует указывать явно спец символами.
Согласитесь, что даже с именованными группами а таком виде регэкспа выглядит вполне сносно 😉.
#tricks#regex
[CCL] UPDATE: Passengers travelling towards #MarinaBay, please transfer at #DhobyGhaut or #Bishan for the North-South Line, or #Caldecott for the Thomson-East Coast Line. Passengers travelling towards #Bayfront, please transfer at #Promenade or #MacPherson for the Downtown Line.
- SMRT
[NSL]: Passengers be advised to avoid sector between #Woodlands and #AngMoKio. For alternative transport to transit at #CircleLine#Bishan to #Caldecott and to #Thomson-EastCoastLine #Woodlands.
- SMRT
[CCL] UPDATE: [CCL] UPDATE: Additional 30 mins train travel time between #PayaLebar and #one-north due to a train fault. Pls seek alternative MRT lines at #Serangoon, #Bishan, #Caldecott, #BotanicalGarden and #BuonaVista. We are working to recover service.
- SMRT