使用正则表达式从私钥获取值

Abh*_*aya 2 regex regex-negation regex-group regex-lookarounds

我收到一个像这样的私钥:-

-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEA3Tz2mr7SZiAMfQyuvBjM9Oi..Z1BjP5CE/Wm/Rr500P
DtkpjGHQzPF6vOe907y5NQLvVFGXUq/FIJZxB8k..fJdHEm2M4=
-----END RSA PRIVATE KEY-----
Run Code Online (Sandbox Code Playgroud)

我想要第一行的最后一个 ----- 和最后一行的第一个 ----- 之后的数据,以便匹配组的数据如下所示:-

MIIEpQIBAAKCAQEA3Tz2mr7SZiAMfQyuvBjM9Oi..Z1BjP5CE/Wm/Rr500P
DtkpjGHQzPF6vOe907y5NQLvVFGXUq/FIJZxB8k..fJdHEm2M4=
Run Code Online (Sandbox Code Playgroud)

这就是我尝试过的,但绝对没有得到我想要的

(?=[-]*(?=[A-Z]*(?=[-])))(.*)(?=[-]*(?=[A-Z]*(?=[-])))
Run Code Online (Sandbox Code Playgroud)

你能帮我纠正一下这个问题吗?

Wik*_*żew 5

您可以使用

-{3,}\n([\s\S]*?)\n-{3,}
Run Code Online (Sandbox Code Playgroud)

请参阅正则表达式演示。您需要的值位于第 1 组中。如果\R支持(任何换行序列模式),请使用它而不是\n

细节

  • -{3,}\n- 三个或更多-s,然后是换行符
  • ([\s\S]*?)- 任何 0+ 个字符,尽可能少
  • \n-{3,}- 一个换行符和三个或更多-字符。