Регулярное выражение в Hive - Получить номер после определенного текста - PullRequest
0 голосов
/ 06 июня 2018

Как я могу использовать регулярные выражения, чтобы получить число 4968 из следующего текста?

"category_path":["XXX1430","XXX109026","XXX3120","XXX4968","XXX377357"]

Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

Если вы хотите использовать регулярное выражение, вы можете захватить 4968 в группе (\d+).

"category_path":\["XXX\d+"(?:,"XXX\d+"){2},"XXX(\d+)"(?:,"XXX\d+")*\]

Объяснение

  • "category_path":\[ Соответствует буквально
  • "XXX\d+" Соответствует шаблону XXX цифр без запятой
  • (?:,"XXX\d+"){2} повторяет шаблон XXX цифр с запятой 2 раза
  • "XXX(\d+)" сопоставить "XXX и захватить одну или несколько цифр в группе (\d+) и сопоставить "
  • (?:,"XXX\d+")*\] сопоставить ноль или более раз с закрывающим ]
0 голосов
/ 06 июня 2018

Попробуйте Regex: category_path":\[(?:"[X]+\d+",){3}"[X]+\K\d+

Демо

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