瀏覽器送出 textarea 一律用 CRLF,議題只要在 Gitea 網頁上被編輯過,body 逐行切開後 每一行行尾就掛著 \r。JS 的 . 不吃 \r,`(.*)$` 因此整行比不中——listSection 會把 目標、非目標、驗收標準這些段落一律回成空陣列,而且不報錯,下游拿到的是「這一段沒寫」 而不是「解析失敗」。 改用 [\s\S] 比對行尾,text 本來就有 trim 會把 \r 修掉。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>