はい!今やってます!

Work Pertly, Live Idly

GoでMarkdown内の画像コンテンツを正規表現でマッチさせる

// Match image file path
r := regexp.MustCompile(`\!\[.+?\]\(([^\s\)]+).*\)`)
match := r.FindAllStringSubmatch(content, -1)

// Image Tag Pattern
// ![foo](/image/hoge/fuga.jpg)
// ![foo](/image/hoge/fuga.jpg "画像タイトル")
// [![foo](/image/hoge/fuga.jpg)](リンクURL)

// regexp result sample
// match => [[![foo](/image/hoge/fuga.jpg) /image/hoge/fuga.jpg] [![foo](/image/hoge/fuga.jpg) /image/hoge/fuga.jpg] ....]
// match[0] =>  [![foo](/image/hoge/fuga.jpg) /image/hoge/fuga.jpg]
// match[0][0] =>  ![foo](/image/hoge/fuga.jpg)
// match[0][1] =>  /image/hoge/fuga.jpg