Regex для захвата значения ключа, включая пустое пространство

У меня есть проблема, чтобы получить значение, которое имеет пробел из моего Regex. Может ли кто-нибудь помочь мне предоставить правильное регулярное выражение с использованием механизма key-value. Обратите внимание, что позиция ключевого значения может измениться и не будет исправлена.

Regex

\s*([\w\d_]*)=(.*?)\s+

вход

spt=38271 deviceExternalId=SUKUK node 1 dst=99.111.185.141 app=HTTPS rt=Jan 23 2013 15:30:45 deviceFacility=Packet filter msg=Connection was reset by server destinationTranslatedPort=443 

Мой результат

Match 1: spt=38271 
    Subgroups:
    1: spt
    2: 38271
Match 2: deviceExternalId=SUKUK 
    Subgroups:
    1: deviceExternalId
    2: SUKUK
Match 3:  dst=99.111.185.141 
    Subgroups:
    1: dst
    2: 99.111.185.141
Match 4: app=HTTPS 
    Subgroups:
    1: app
    2: HTTPS
Match 5: rt=Jan 
    Subgroups:
    1: rt
    2: Jan          **==>Should grab [Jan 23 2013 15:30:45]**
Match 6:  deviceFacility=Packet 
    Subgroups:
    1: deviceFacility
    2: Packet       **==>Should grab [Packet filter]**
Match 7:  msg=Connection 
    Subgroups:
    1: msg
    2: Connection   **==>Should grab [Connection was reset by server]**
Match 8:  destinationTranslatedPort=443 
    Subgroups:
    1: destinationTranslatedPort
    2: 443
1
nl ja de
У вас нет отдельного разделителя для пар ключ-значение. В соответствии с вашим текущим текстом невозможно, чтобы регулярное выражение получило желаемый результат. Подумайте, на какой основе вы бы выбрали Packet filter в совокупности, но в то же время отклонили SUKUK node от выбора?
добавлено автор Rohit Jain, источник

2 ответы

Попробуй это:

([\w\d_]+)=(.*?)(?=\s+[\w\d_]+=|$)

print "$1\n$2";
2
добавлено
Он также выберет SUKUK node 1 , который OP не хочет.
добавлено автор Rohit Jain, источник
Мне нравится это решение ... но мне нужно сделать дополнительную программу расщепления ... но очень хорошая идея ... Мне это нравится.
добавлено автор Joe Ijam, источник

Simpler: \s*([\w\d_]*)=([^=]+)\s+

1
добавлено
phpGeeks
phpGeeks
3 620 участник(ов)

Best PHP chat Еще: @dbGeeks - базы данных @phpGeeksJunior - новичкам @moscowProgers - IT Москва @ebanoePhp - весёлый канал о PHP @laravel_pro - Laravel @jobGeeks - вакансии @jsChat - JS Правила: https://t.me/phpGeeks/764859 ДР - 28.03.2016

pro.jvm
pro.jvm
3 503 участник(ов)

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш сайт: projvm.com projvm.ru Наш канал: @proJVM Вакансии: @jvmjobs Конфы: @jvmconf

Java & Co
Java & Co
2 370 участник(ов)

Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/75723 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude

learn.java
learn.java
1 888 участник(ов)

Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat

PHP
PHP
1 309 участник(ов)

Группа про современный PHP. Обсуждаем ООП, TDD, BDD, DDD, SOLID, GRASP и прочие крутые базворды Для ознакомления: https://gist.github.com/mkusher/711bd46f0b62fbae851182e6fb3b1839 Группа PHP для новичков @phpGeeksJunior Вакансии: https://t.me/fordev

PHP — вакансии, поиск работы и аналитика
PHP — вакансии, поиск работы и аналитика
1 251 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению PHP, Laravel, Symfony, Yii и т.д. Здесь всё: full-time, part-time, remote и разовые подработки. См. также: @qa_jobs, @devops_jobs, @javascript_jobs, @nodejs_jobs, @uiux_jobs, @products_jobs

phpGeeksJunior
phpGeeksJunior
980 участник(ов)

Группа для новичков. Не стесняйтесь задавать вопросы по php. Не флудить!!!! Правила и полезные ссылки https://gist.github.com/exileed/a53dd0617b35a705ff44b38c8028e6a5 Бест от пхпгикс https://t.me/best_of_phpgeeks

phpclub.ru
phpclub.ru
872 участник(ов)

Официальный чат phpclub.ru - остерегайтесь подделок #rules Правила группы - уважайте друг друга. Скриншоты -> ссылками. Код -> pastebin.com. Вакансии строго -> https://goo.gl/4bNxym, в чат ссылку. За рекламу и мат - БАН!

Modern::Perl
Modern::Perl
362 участник(ов)

Пожалуйста, представьтесь при добавлении в группу. Это необходимо во избежание спам-ботов. Ваше первое сообщение не должно быть ссылкой или репостом. Мы всегда рады нестандартным вопросам.

Devall | PHP
Devall | PHP
272 участник(ов)

Пристанище для восходящих звёзд разработки, которые перейдут на более адекватные языки. http://combot.org/chat/-1001014863761 Инвайт: j.mp/devallphp

Java Underground
Java Underground
169 участник(ов)

https://vk.com/javatutorial

use Perl or die;
use Perl or die;
164 участник(ов)

Группа о языке Perl и обо всём что с ним связано.

Javanese Questions
Javanese Questions
109 участник(ов)

Чат предназначен для обмена знаниями строго в формате в вопрос-ответ. Тема — Java, Kotlin и Android. Вопрос должен быть предварительно прогуглен, понятно и грамотно сформулирован, помечен хэштегами. Ответ — тем более. Куски кода размером в несколько строк можно писать прямо здесь, для больших кусков кода стоит использовать http://gist.github.com/, http://pastebin.com/, https://codeshare.io/ или любой аналогичный сервис. В некоторых случаях можно прикреплять скриншоты. Стикеры и гифки запрещены. Дополнять и уточнять вопросы и ответы — редактированием исходного сообщения. Обсуждения должны приводить к редактированию вопроса/ответа и удаляться. По хештегам можно искать существующие вопросы и овтеты: #вопрос #ответ #git #generics #java #server #awt #javafx #swing #kotlin #anko #tornadofx #ktor #android #recyclerView #performance #arch #network #permissions #storage #async

pro.perl
pro.perl
22 участник(ов)

Язык программирования Perl