diff --git a/src/mfm/parser.ts b/src/mfm/parser.ts index 5572e26f8..560e226af 100644 --- a/src/mfm/parser.ts +++ b/src/mfm/parser.ts @@ -358,10 +358,9 @@ const mfm = P.createLanguage({ title: r => newline.then(P((input, i) => { const text = input.substr(i); - const match = text.match(/^((【|\[)(.+?)(】|]))(\n|$)/); + const match = text.match(/^([【\[]([^【\[】\]\n]+?)[】\]])(\n|$)/); if (!match) return P.makeFailure(i, 'not a title'); - const q = match[1].trim().substring(1, match[1].length - 1); - if (q.includes('】')) return P.makeFailure(i, 'not a title'); + const q = match[2].trim(); const contents = P.alt( r.big, r.small,