Я думал о регулярном выражении, которое может преобразовать список следующим образом:
1. 10.Things.I.Hate.About.You[1999]DvDrip[Eng]-Ray 699.68 MB
2. 100.Feet.2008.DvDRip-FxM 701.14 MB
3. 11 - 14 1 286.22 MB
4. 13_going_on_30(2004)[Brizzly] 700.23 MB
...
1 523. Waz 699.93 MB
1 524. We.Own.the.Night[2007]DvDrip[Eng]-Ray 700.87 MB
1 525. Webs [2003]DVDRip[Xvid AC3[5.1]-RoCK&BlueLadyRG 1 347.70 MB
в
10.Things.I.Hate.About.You[1999]DvDrip[Eng]-Ray,699.68 MB
100.Feet.2008.DvDRip-FxM,701.14
11 - 14,1286.22
13_going_on_30(2004)[Brizzly],700.23
...
Waz,699.93
We.Own.the.Night[2007]DvDrip[Eng]-Ray,700.87
Webs [2003]DVDRip[Xvid AC3[5.1]-RoCK&BlueLadyRG,1347.70
Предположение: размер файла никогда не превышает 9999,99 МБ
Пока у меня есть частично работающее регулярное выражение:
^[^\.]+\. (.+?) (?:([0-9])(?: ))?([0-9]+\.[0-9]{2}) MB.*$
, который отображается на
$1:$2$3
для завершения преобразования.
Я использовал двоеточие, потому что ни одна настольная ОС не позволила бы это в имени файла, поэтому я в безопасности.
Я построил регулярное выражение без какого-либо формального метода (то есть с помощью интуиции), и та же самая интуиция подсказывает мне, что это регулярное выражение ужасно сложное и медленное!
Я бы хотел, чтобы у RegExBuddy была онлайн-версия или что-то подобное.
Как мне построить лучший RegEx для того же? Советы, подсказки ...
Есть ли какой-нибудь бесплатный / открытый инструмент, который позволил бы мне профилировать свое регулярное выражение (кроме написания сценария Perl)?