package main
import (
"regexp"
"fmt"
)
func main() {
var re = regexp.MustCompile(`(?m)("text":\s*\{\s*"ja_JP":\s*")([^"]*)"`)
var str = `"textList": [
{
"id": 4,
"name": "modeselect",
"folder": true, "children": [
{
"id": 13,
"name": "Motion",
"fontId": 6,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "Motion" },
"folder": false
},
{
"id": 12,
"name": "Story",
"fontId": 7,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "Story" },
"folder": false
},
{
"id": 11,
"name": "Main_Character",
"fontId": 6,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "Main Character" },
"folder": false
},
{
"id": 5,
"name": "Mode_select",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "Mode Select" },
"folder": false
},
{
"id": 24,
"name": "Story_Mode",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "Story Mode" },
"folder": false
},
{
"id": 25,
"name": "Battle_Mode",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "Battle Mode" },
"folder": false
},
{
"id": 8297,
"name": "Dictionary",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "Dictionary" },
"folder": false
},
{
"id": 46,
"name": "Z_desition",
"fontId": 9,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "Z key:OK\nC key:Back" },
"folder": false
},
{
"id": 47,
"name": "back_to_the_title",
"fontId": 9,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": " Back to the title?" },
"folder": false
},
{
"id": 51,
"name": "select_mode",
"fontId": 9,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": " Select Mode" },
"folder": false
},
{
"id": 8298,
"name": "Go_to_the_Story_Mode",
"fontId": 9,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "Go to the Story Mode?" },
"folder": false
},
{
"id": 8299,
"name": "Go_to_the_Battle_Mode",
"fontId": 9,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "Go to the Battle Mode?" },
"folder": false
},
{
"id": 8300,
"name": "Go_to_the_Dictionary",
"fontId": 9,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "Go to the Dictionary?" },
"folder": false
},
{
"id": 48,
"name": "ok",
"fontId": 8,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "OK" },
"folder": false
},
{
"id": 49,
"name": "cancel",
"fontId": 8,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "Cancel" },
"folder": false
},
{
"id": 7,
"name": "Story_outline",
"fontId": 9,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "自由奔放で傲慢な魔族\nであるアストリア。\nアストリアは最近\n地上に住まう種族の\n殲滅に勤しんでいた。\n次第に恐怖と畏れから\n地上に住まう者達に名が\n知れ渡り始めていた。\nある日、アストリアの\n元に面倒事が\n持ち込まれる・・・" },
"folder": false
},
{
"id": 6,
"name": "character_name",
"folder": true, "children": [
{
"id": 8,
"name": "Astoria",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": " Astoria" },
"folder": false
},
{
"id": 19,
"name": "Test2_name",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": " Test2" },
"folder": false
},
{
"id": 20,
"name": "Test3_name",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": " Test3" },
"folder": false
},
{
"id": 21,
"name": "Test4_name",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": " Test4" },
"folder": false
},
{
"id": 22,
"name": "Test5_name",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": " Test5" },
"folder": false
},
{
"id": 23,
"name": "Test6_name",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": " Test6" },
"folder": false
}
]
},
{
"id": 9,
"name": "story_name",
"folder": true, "children": [
{
"id": 10,
"name": "Story1_name",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "1. 魔族娘の自由旅" },
"folder": false
},
{
"id": 14,
"name": "Story2_name",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "2. " },
"folder": false
},
{
"id": 15,
"name": "Story3_name",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "3. " },
"folder": false
},
{
"id": 16,
"name": "Story4_name",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "4. " },
"folder": false
},
{
"id": 17,
"name": "Story5_name",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "5. " },
"folder": false
},
{
"id": 18,
"name": "Story6_name",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "6. " },
"folder": false
}
]
}
]
},
{
"id": 26,
"name": "stageselect",
"folder": true, "children": [
{
"id": 31,
"name": "Stage_select",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "Stage Select" },
"folder": false
},
{
"id": 32,
"name": "GameStart",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "Game Start" },
"folder": false
},
{
"id": 33,
"name": "Enemy_Character",
"fontId": 6,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "Enemy Character" },
"folder": false
},
{
"id": 50,
"name": "back_to_the_modeselect",
"fontId": 9,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "Back to the Mode Select?" },
"folder": false
},
{
"id": 27,
"name": "character_name_stage",
"folder": true, "children": [
{
"id": 34,
"name": "Leonor",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": " Leonor" },
"folder": false
},
{
"id": 35,
"name": "Riz",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": " Riz" },
"folder": false
},
{
"id": 36,
"name": "Mary",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": " Mary" },
"folder": false
},
{
"id": 37,
"name": "Koyo",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": " Koyo" },
"folder": false
},
{
"id": 38,
"name": "Beryl",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": " Beryl" },
"folder": false
},
{
"id": 39,
"name": "Amelia",
"fontId": 5,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": " Amelia" },
"folder": false
}
]
},
{
"id": 28,
"name": "stage_outline",
"folder": true, "children": [
{
"id": 979,
"name": "stage1_outline",
"fontId": 9,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "アストリアは日課である\n種族の殲滅を終わらせて\n城で休息を取っていた。\nそんな時、何者かが城に\n侵入した事を察知する。\n急ぎ様子を見に行くと\nそこには興味深そうに\n城を見渡す堕天使の\nレオノールが居た・・・" },
"folder": false
},
{
"id": 980,
"name": "stage2_outline",
"fontId": 9,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "レオノールから\n聞き出した情報を頼りに\n妖狐を探していた。\nその最中、魔族のリズが\n道の真ん中で風景画を\n描いているのを見かける\n興味本位で声を掛け\n描いている絵を見せて\nもらったのだが・・・" },
"folder": false
},
{
"id": 981,
"name": "stage3_outline",
"fontId": 9,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "ジメジメと湿った空気が\n充満している薄暗い\n森の中を進んでいると\n奇妙な帽子を被った\n魔女のメアリーが\nアストリアの前に\n立ち塞がる。\n妖狐の差し金で\nアストリアの邪魔を\nしようとするが・・・" },
"folder": false
},
{
"id": 982,
"name": "stage4_outline",
"fontId": 9,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "森を抜けた先に\n古びた神社を見つけた\nアストリア。\n中から九つの白い尾を\n持った妖狐の狐耀が\n現れる。\nアストリアと狐耀は\n自身の主張を通すべく\n力尽くで相手を屈服\nさせようとする・・・" },
"folder": false
},
{
"id": 983,
"name": "stage5_outline",
"fontId": 9,
"letterSpacing": 0,
"lineSpacing": 0,
"text": { "ja_JP": "面倒事を終わらせて\n気が晴れたアストリアに\n竜人種のベリルが声を\n掛けてくる。\nアストリアが狐耀を\n倒したことに対して\nベリルは感謝を示す。\nどうでも良い\nアストリアは休むべく\n帰ろうとするが・・・" },
"folder": false`
for i, match := range re.FindAllString(str, -1) {
fmt.Println(match, "found at index", i)
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Golang, please visit: https://golang.org/pkg/regexp/