From 7ca3591920b1cf1619f6c89e1e3c378cffd317d2 Mon Sep 17 00:00:00 2001 From: jackyzy823 Date: Mon, 14 Feb 2022 09:20:32 +0100 Subject: [PATCH] fix non-ascii hashtag regex --- src/experimental/parser/user.nim | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/experimental/parser/user.nim b/src/experimental/parser/user.nim index dc760f0..bf8c5ba 100644 --- a/src/experimental/parser/user.nim +++ b/src/experimental/parser/user.nim @@ -1,14 +1,14 @@ -import std/[algorithm, unicode, re, strutils, strformat, options] +import std/[algorithm, unicode, re, strutils, strformat, options, nre] import jsony import utils, slices import ../types/user as userType from ../../types import User, Error let - unRegex = re"(^|[^A-z0-9-_./?])@([A-z0-9_]{1,15})" + unRegex = re.re"(^|[^A-z0-9-_./?])@([A-z0-9_]{1,15})" unReplace = "$1@$2" - htRegex = re"(^|[^\w-_./?])([##$])([\w_]+)" + htRegex = nre.re"(*U)(^|[^\w-_./?])([##$])([\w_]+)" htReplace = "$1$2$3" proc expandUserEntities(user: var User; raw: RawUser) = @@ -29,7 +29,7 @@ proc expandUserEntities(user: var User; raw: RawUser) = user.bio = orig.replacedWith(replacements, 0 .. orig.len) .replacef(unRegex, unReplace) - .replacef(htRegex, htReplace) + .replace(htRegex, htReplace) proc getBanner(user: RawUser): string = if user.profileBannerUrl.len > 0: