Celsus
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Помогите разобрать эту формулу: ^(.+?)\s+[[({]?(?:ft\.?|feat\.?|featuring)\s+(?:[^][(){}]+)[])}]?(\s+.+)?$ ^(.+?)\s+ - начало строки, индексируемая группа №1 с любыми символами, пробел 1 или более раз [[({]? - могут присутствать симфолы [({, но могут и не присутствовать (?:ft\.?|feat\.?|featuring) - неиндексированная группа с вариантами возможных слов, одно из которых обязательно должно присутствовать \s+ - пробел 1 или более раз (?:[^][(){}]+) - вот с этим немного не понятно, это неиндексируемая группа, в которой не должно быть символов [(){} 1 или более раз?? Пока не доходит, зачем она нужна [])}]? - могут присутствать симфолы ])}, но могут и не присутствовать (\s+.+)?$ - индексируемая группа №2 в конце строки с пробелом и любыми символами 1 или больше раз, которая может присутствовать, а может и не присутствовать Выходит, нужно искать предложения, в которых есть ft или ft. или feat или feat. или featuring потом нужно индексировать то, что перед этими словами и после этих слов, чтобы исключить их из результата? Пример: Beginning feat Yulua Oreshko (Original Mix) или Beginning (feat Yulua Oreshko) (Original Mix) Становится Beginning (Original Mix) | Всего записей: 388 | Зарегистр. 02-04-2011 | Отправлено: 08:49 19-04-2024 | Исправлено: Celsus, 08:55 19-04-2024 |
|