Получить значение между из закрытого ключа с помощью регулярных выражений - PullRequest
0 голосов
/ 04 октября 2018

Я получаю закрытый ключ примерно так: -

-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEA3Tz2mr7SZiAMfQyuvBjM9Oi..Z1BjP5CE/Wm/Rr500P
DtkpjGHQzPF6vOe907y5NQLvVFGXUq/FIJZxB8k..fJdHEm2M4=
-----END RSA PRIVATE KEY-----

Я хочу получить данные после последней ----- в первой строке и первой ----- последней строки, напримерчто данные соответствующей группы выглядят так: -

MIIEpQIBAAKCAQEA3Tz2mr7SZiAMfQyuvBjM9Oi..Z1BjP5CE/Wm/Rr500P
DtkpjGHQzPF6vOe907y5NQLvVFGXUq/FIJZxB8k..fJdHEm2M4=

Это то, что я пытался, и определенно не получаю то, что хочу

(?=[-]*(?=[A-Z]*(?=[-])))(.*)(?=[-]*(?=[A-Z]*(?=[-])))

Можете ли вы помочь мне получить этоправильный.

1 Ответ

0 голосов
/ 04 октября 2018

Вы можете использовать

-{3,}\n([\s\S]*?)\n-{3,}

См. Демоверсию regex .Требуемое значение находится в группе 1. Если поддерживается \R (любой шаблон последовательности разрыва строки), используйте его вместо \n.

Подробности

  • -{3,}\n - три или более - с и затем новая строка
  • ([\s\S]*?) - любые 0+ символов, как можно меньше
  • \n-{3,} - новая строка и триили больше - символов.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...