Я провел некоторое исследование, но в моем случае ничего не помогло.
У меня есть это регулярное выражение, где я могу получить поток № 0: 4, но я хотел бы повторить правило и также поймать поток № 0: 5.Как мне повторить правило и игнорировать в середине -> # 0: 0 (copy) -> # 0: 1 (copy)
регулярное выражение
/(?<=Stream mapping:)(\s+)([a-zA-Z])+(\s+)#([0-9]:[0-9])/s
текст
Metadata:
variant_bitrate : 800000
Stream mapping:
Stream #0:4 -> #0:0 (copy)
Stream #0:5 -> #0:1 (copy)
Press [q] to stop, [?] for help
Мой текущий результат
array(1) {
[0]=> array(5)
{
[0]=> string(15) " Stream #0:4"
[1]=> string(4) " "
[2]=> string(1) "m"
[3]=> string(1) " "
[4]=> string(3) "0:4" }
}
Другая проблема состоит в том, что мое регулярное выражение рассматривает «m» как отдельную комбинацию и включает пустые пробелы.Как мне это исправить?
Я хотел получить конечный результат, например
[0]Stream #0:4
[1]Stream #0:5