Использование Java проверки строки печатается в определенном формате - PullRequest
0 голосов
/ 26 марта 2019

У меня есть строка ответа, как показано ниже

21.03.2019_15:06.26 [SELOGER]:: [Seloger value]-[PROGRESS]:  marminto=true, france24=true,

Используя Java, я должен подтвердить, что ответ выше напечатан в следующем формате:

<date+time> [SELOGER]:: [Seloger value]-[<PROGRESS|STOP|START>]: <value1>=<true|false>, <value2>=<true|false>........
  1. сначала <date+time>, затем [SELOGER]:: [Seloger value]-, затем [PROGRESS or STOP or START]:, затем значения marminto=true, france24=true,.....

Как я могу выполнить это с regex? или любой API Java, доступный для обнаружения строки, напечатан в определенном формате.

1 Ответ

1 голос
/ 26 марта 2019

Попробуйте этот шаблон:

\d{2}\.\d{2}\.\d{4}\_\d{2}:\d{2}\.\d{2} \[SELOGER\]:: \[Seloger value\]-\[(?:PROGRESS|STOP|START)\]: *(?:[a-zA-Z0-9]+=(?:true|false), ?)*

Пояснение:

\d{2}\.\d{2}\.\d{4}\_\d{2}:\d{2}\.\d{2} соответствует дате в указанном формате

(?:PROGRESS|STOP|START) - условно, соответствует любому из PROGRESS, STOP или START

(?:[a-z0-9]+=(?:true|false), ?)* - соответствует нулю или нескольким парам value=true / value=false, за которыми следует пробел, после которого следует запятая

Демо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...