2016-11-23 3 views
-1
Info: DVB: =========== Card 0 - Tuner 0 =========== 
Info: DVB: Frontend : Afatech AF9033 (DVB-T) 
Info: DVB: Terrestrial (DVB-T) card 
Info: DVB: Frequency: 174000 kHz to 862000 kHz 
Info: DVB: 
Info: DVB: =========== Card 1 - Tuner 0 =========== 
Info: DVB: Frontend : Afatech AF9033 (DVB-T) 
Info: DVB: Terrestrial (DVB-T) card 
Info: DVB: Frequency: 174000 kHz to 862000 kHz 
Info: DVB: 

` Как я могу использовать grep специальный блок строки? (Например Card0 - тюнер 0 с любой новой линии AFTE него на карту 1 - Тюнер 0)Regex для grep специальный блок строки?

+0

Вы в PHP оглавлению? – chris85

+0

@ chris85 yes ... –

+0

Покажите свое использование PHP. – chris85

ответ

1

Это может работать:

preg_match_all("/(Info:.*Tuner 0.*)Info: DVB: $/ms", $String, $out); 
var_dump($out[1]); 

http://www.phpliveregex.com/p/hYI

+0

спасибо ... но почему регулярное выражение возвратило два одинаковых элемента? –

+0

Это не так. Первый - это полное регулярное выражение, как совпадающее, так и не согласованное. Второй - это совпадение (материал внутри '()'). Обратите внимание, что последняя строка отличается. – Andreas

+0

@Rohullah, вы находите ответ правильным? В таком случае было бы хорошо, если бы вы приняли ответ. – Andreas

Смежные вопросы