Я создал регулярное выражение.
([A-Za-Z,<] [/ a-zA-Z0-9>.?!,; _<«\ N-]) [| \ n] [0-9][| \ n]
Я хотел бы использовать его в файле субтитров.
например.:
65 00: 04: 33,417 -> 00: 04: 35,658 Но я уволился со своей старой работы, чтобы быть
с тобой.66 00: 04: 35,937 -> 00: 04: 36,984 Вам не хватает этого?
67 00: 04: 41,217 -> 00: 04: 42,423 Нет, мне нравится моя новая работа.
Когда я использую это регулярное выражение на regex101 или regexr.com, тогда он работает правильно.
Но когда я использую в своем коде PHP, они имеют разные результаты.
$myString=file_get_contents("wwz.srt");
$formula="/([a-zA-Z<][\/a-zA-Z0-9> .?!,;_<'\n-]*)[ |\n][0-9]*[ |\n]/";
preg_match_all($formula, $myString, $matches);
Есть часть подзаголовка:
70 00: 04: 49,017 -> 00: 04: 50,348 Посмотри, кого я нашел!
71 00: 04: 49,017 -> 00: 04: 50,348 А вот и поезд номер 12!
72 00: 04: 50,417 -> 00: 04: 51,782 Это не Метро Сэм, не так ли?
73 00: 04: 52,337 -> 00: 04: 54,578 Хотите еще блинов?
74 00: 04: 55,177 -> 00: 04: 56,542 Хорошо.
75 00: 04: 56,697 -> 00: 04: 58,984 Иди, иди, иди. Давай, Скотч!
76 00: 04: 59,057 -> 00: 05: 00,821
— По крайней мере…
— Двигайся дальше.77 00: 05: 00,897 -> 00: 05: 02,786 Привет! Тарелки в раковине!
78 00: 05: 02,857 -> 00: 05: 04,018
— Потом!
— Сделай это, когда мы вернемся!
Если я буду использовать этот пример в regex101, это будет первый результат:
Смотри, кого я нашел! 71
Если я использую этот пример в своем php-коде с тем же регулярным выражением, это будет первый результат:
А вот и номер 12
Где ошибка?
Когда вы копируете созданное регулярное выражение из regex101.com, чтобы использовать его в своей программе, вы должны использовать генератор кода, потому что он обеспечивает правильное экранирование символов для использования в строке.
В дополнение к этому вы должны убедиться, что вы выбрали правильный вариант, потому что вы можете получить регулярное выражение, которое работает онлайн с regex101, но не внутри вашей программы, потому что оно использует другой механизм регулярных выражений.
Кроме того, я думаю, что более полезный сайт для проверки PHP регулярных выражений будет http://www.phpliveregex.com/