Регулярный текст после слов

0

Я работаю с php, и я пытаюсь заставить регулярное выражение получить все после определенной строки (часть ответа Dig).

Это данные, с которыми я работаю.

; <<>> DiG 9.8.1-P1 <<>> @ns2.msft.net microsoft.com a +comments +noquestion +noauthority +noadditional +nostats +nocmd
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10742
;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; ANSWER SECTION:
microsoft.com.      3600    IN  A   134.170.188.221
microsoft.com.      3600    IN  A   134.170.185.46

Я просто хочу получить две последние строки и ничего больше (иногда их больше или меньше). Это почти делает то, что я хочу, но он проверяет только на последнее: и некоторые ответы имеют: в последней строке (записи TXT).

[^:]+$

Любая помощь приветствуется!

  • 0
    Каков ваш ожидаемый результат?
Теги:
preg-match

1 ответ

1
Лучший ответ
^[^;]*

Я думаю, это простое регулярное выражение должно сделать это для вас. Смотрите демо.

https://www.regex101.com/r/rK5lU1/33

$re = "/^[^;]*/im";
$str = "; <<>> DiG 9.8.1-P1 <<>> @ns2.msft.net microsoft.com a +comments +noquestion +noauthority +noadditional +nostats +nocmd\n; (1 server found)\n;; global options: +cmd\n;; Got answer:\n;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10742\n;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0\n;; WARNING: recursion requested but not available\n\n;; ANSWER SECTION:\nmicrosoft.com. 3600 IN A 134.170.188.221\nmicrosoft.com. 3600 IN A 134.170.185.46";

preg_match_all($re, $str, $matches);
  • 0
    Вау, это было невероятно легко! Я думаю, что я попробовал почти все остальное! : D
  • 0
    Хм. На самом деле кажется, что PHP не любит данные в / gim. Я получаю сообщение об ошибке preg_match (): неизвестный модификатор 'g'
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню