Задать вопрос
sas2402
@sas2402

Возможно ли решить регуляркой?

текст лога:
080323 1051 0004 7 9 888 89818888888 140 7 010 4
080323 1052 0002 9 888 6999 989818888888 7 001 0
080323 1052 0002 9 888 140 989818888888 7 001 0
080323 1349 0003 A 9 888 89517777777 178 3 029 4
080323 1447 0000 A 9 888 89517777777 178 3 007 4
080323 1448 0003 A 9 888 89517777777 178 3 008 4
080323 1925 0000 9 888 524 989217777777 7 002 0
080323 1925 0000 7 888 5651 524 7 003 4

В идеале надо что бы результатом было 989217777777
Это лог с АТС,в предпоследней строке видно что звонок поступил с 989217777777 (также могут быть и короткие внутренние номера) на 524
  • Вопрос задан
  • 87 просмотров
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
Скорее всего проще без регулярки.
В оригинальном логе поля разделены табуляцией же?
Всего-то дело разбить строку по табам и получить седьмой элемент.
Можно и регуляркой, что-то вроде (?:.*?\t){6}(\d+)
В логе точно пробелы, а не табуляция?
Ответ написан
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
^\d{6} \d{4} 0000 9 888 \d+ \d+ 7 \d{3,} \d+$
Подозреваю, что предпоследняя цифра в строке - это кол-во минут разговора, и она соответственно меняется.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы