Я использую длинное регулярное выражение, которое довольно трудно уловить, если вы не написали его в предыдущие 5 минут -
"/([^\s]+)\s*[^\[]+\[([^\]]+)\]\s*"([^\s]+)\s*([^\s]+)\s*([^"]+)"\s*([^\s]+)\s*([^\s]+) \s*"([^"]+)"\s*"([^"]+)"/
Существует ли общепринятый способ форматирования длинных регулярных выражений в коде, обеспечивающий лучшую читаемость?
Я думал о том, чтобы поместить каждую группу захвата в отдельную строку, например,
/([^\s]+)
\s*[^\[]+\[([^\]]+)
\]\s*"([^\s]+)
\s*([^\s]+)
\s*([^"]+)
"\s*([^\s]+)
\s*([^\s]+)
\s*"([^"]+)
"\s*"([^"]+)"/
Было бы замечательно, если бы я мог построчно комментировать комментарии в каждом разделе регулярного выражения, но Руби не позволил мне.
Меня больше интересует общий вопрос о том, что делать с большим регулярным выражением, чем более эффективные способы синтаксического анализа текста ... этот конкретный случай был лишь частью упражнения, которое я поставил перед собой, изучая немного Ruby.