diff --git a/server/tag.go b/server/tag.go index f8ac6e0d..d7824226 100644 --- a/server/tag.go +++ b/server/tag.go @@ -12,6 +12,8 @@ import ( "github.com/labstack/echo/v4" ) +var tagRegexp = regexp.MustCompile(`#([^\s#]+?) `) + func (s *Server) registerTagRoutes(g *echo.Group) { g.GET("/tag", func(c echo.Context) error { ctx := c.Request().Context() @@ -47,13 +49,9 @@ func (s *Server) registerTagRoutes(g *echo.Group) { tagMapSet := make(map[string]bool) - r := regexp.MustCompile(`#([^\s#]+?) `) - if err != nil { - return echo.NewHTTPError(http.StatusInternalServerError, "Failed to compile regexp").SetInternal(err) - } for _, memo := range memoList { - for _, rawTag := range r.FindAllString(memo.Content, -1) { - tag := r.ReplaceAllString(rawTag, "$1") + for _, rawTag := range tagRegexp.FindAllString(memo.Content, -1) { + tag := tagRegexp.ReplaceAllString(rawTag, "$1") tagMapSet[tag] = true } } diff --git a/web/src/helpers/marked.ts b/web/src/helpers/marked.ts index 28acd1cd..01c35548 100644 --- a/web/src/helpers/marked.ts +++ b/web/src/helpers/marked.ts @@ -18,8 +18,6 @@ export const MEMO_LINK_REG = /@\[(.+?)\]\((.+?)\)/g; const parseMarkedToHtml = (markedStr: string): string => { const htmlText = markedStr - .replace(/([\u4e00-\u9fa5])([A-Za-z0-9?.,;[\]]+)/g, "$1 $2") - .replace(/([A-Za-z0-9?.,;[\]]+)([\u4e00-\u9fa5])/g, "$1 $2") .replace(CODE_BLOCK_REG, "
$1") .replace(TODO_BLOCK_REG, "") .replace(DONE_BLOCK_REG, "✓")