第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如果在 n 行之前找到其他字符串,則 php regex 查找字符串

如果在 n 行之前找到其他字符串,則 php regex 查找字符串

PHP
夢(mèng)里花落0921 2023-03-11 16:53:12
我正在嘗試將 mkvinfo 輸出中的每一種音頻和字幕語(yǔ)言都放入數(shù)組中,我已經(jīng)嘗試了各種谷歌搜索和 RegExr 上的正則表達(dá)式組合,但沒有成功。我的源字符串是| + Muxing application: libmkv 0.6.5| + Writing application: HandBrake rev5474| + Timecode scale: 1000000| + Duration: 6788.031s (01:53:08.031)|+ Segment tracks| + A track|  + Track number: 1 (track ID for mkvmerge & mkvextract: 0)|  + Track UID: 718870071|  + Track type: video|  + Lacing flag: 0|  + Codec ID: V_MPEG4/ISO/AVC|  + CodecPrivate, length 45 (h.264 profile: High @L3.1)|  + Default duration: 41.708ms (23.976 frames/fields per second for a video track)|  + Default flag: 1|  + MinCache: 1|  + Video track|   + Pixel width: 1280|   + Pixel height: 536|   + Display width: 1280|   + Display height: 536| + A track|  + Track number: 2 (track ID for mkvmerge & mkvextract: 1)|  + Track UID: 1000053498|  + Track type: audio|  + Lacing flag: 0|  + Codec ID: A_AAC|  + CodecPrivate, length 2|  + Language: fre|  + Default flag: 1|  + Audio track|   + Sampling frequency: 48000|   + Channels: 2| + A track|  + Track number: 3 (track ID for mkvmerge & mkvextract: 2)|  + Track UID: 1097600287|  + Track type: audio|  + Lacing flag: 0|  + Codec ID: A_AAC|  + CodecPrivate, length 2|  + Language: eng|  + Default flag: 0|  + Audio track|   + Sampling frequency: 48000|   + Channels: 2| + A track|  + Track number: 4 (track ID for mkvmerge & mkvextract: 3)|  + Track UID: 1976675274|  + Track type: subtitles|  + Lacing flag: 0|  + Codec ID: S_TEXT/UTF8|  + Language: fre|  + Default flag: 0| + A track|  + Track number: 5 (track ID for mkvmerge & mkvextract: 4)|  + Track UID: 1930079859|  + Track type: subtitles|  + Lacing flag: 0|  + Codec ID: S_TEXT/UTF8|  + Language: fre|  + Default flag: 0|+ Cluster使用正則表達(dá)式Language:\s([a-z]+)我可以獲得所有音頻和字幕Language: freLanguage: engLanguage: freLanguage: fre理想的輸出是Array(    [audio] => Array        (            [0] => eng            [1] => fre        )    [subtitles] => Array        (            [0] => fre            [1] => fre        ))任何幫助將不勝感激,提前致謝,最好
查看完整描述

1 回答

?
互換的青春

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

您可以使用交替來(lái)匹配 2 個(gè)捕獲組中的任一值,并使用點(diǎn)匹配換行符(?s)

然后,您可以使用組 1 作為鍵來(lái)組裝結(jié)果數(shù)組,并將組 2 的值添加到組 1 鍵。

(?s)\+\h+Track?type:\h+(audio|subtitles)\b.*?\+\h+Language:\h+([a-z]+)

例如

preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);

$result = [];


foreach ($matches as $match) {

? ? $result[$match[1]][] = $match[2];

}


print_r($result);

輸出


Array

(

? ? [audio] => Array

? ? ? ? (

? ? ? ? ? ? [0] => fre

? ? ? ? ? ? [1] => eng

? ? ? ? )


? ? [subtitles] => Array

? ? ? ? (

? ? ? ? ? ? [0] => fre

? ? ? ? ? ? [1] => fre

? ? ? ? )


)

不需要的更精確的模式可以(?s)匹配Track type:和匹配所有不以 A track 或 Language 開頭的行:


^\|\h+\+\h+Track type:\h+(audio|subtitles)(?:\R(?!\|\h+\+\h+(?:[A-Z] track$|Language:)).*)*\R\|\h+\+ Language:\h+([a-z]+)


查看完整回答
反對(duì) 回復(fù) 2023-03-11
  • 1 回答
  • 0 關(guān)注
  • 98 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)