在Java中的String中查找markdown图像语法

Min*_*ang 2 java regex markdown

我在Java中有一个很长的文本,它包含至少一个markdown图像语法.如果有Nmarkdown图像语法,我需要将字符串拆分为N+1子串并将它们存储在String数组中,调用texts.例如,我有以下文字

Hello world!
![Alt text](/1/2/3.jpg)
Hello Stack Overflow!
Run Code Online (Sandbox Code Playgroud)

然后Hello world!\n将存储在位置0并\nHello Stack Overflow!存储在位置1.对于我的问题,我们可以假设

  • 替换文本部分只包含字符包括AZ,az和空格.
  • URL部分仅包含数字0-9和斜线/.它的扩展只会是.jpg.其他扩展名将不存在.

我的问题是如何拆分文本?我们需要一个java正则表达式,比如*![*](*.jpg)

Lau*_*rel 9

试试这个(准备复制粘贴):

"!\\[[^\\]]+\\]\\([^)]+\\)"

有关如何获得比赛的信息,请参阅此处.

"未知"版本: !\[[^\]]+\]\([^)]+\)

说明

  • ! 按照字面 !
  • \[ 逃脱 [
  • [^\]]+尽可能多]
  • \]\( 逃脱 ](
  • [^)]+尽可能多)
  • \) 逃脱 )