From 2ea54b9d1e382db8eeb4254dc637e7d04316d01e Mon Sep 17 00:00:00 2001 From: Harrison Healey Date: Wed, 1 Jun 2016 16:05:36 -0400 Subject: PLT-2283 Improved trimming of punctuation from hashtags and search terms (#3178) * Improved trimming of punctuation from hashtags and search terms * Separated punctuation regexes used for hashtags and for search terms --- model/search_params.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'model/search_params.go') diff --git a/model/search_params.go b/model/search_params.go index 250c8e1f3..1772c9028 100644 --- a/model/search_params.go +++ b/model/search_params.go @@ -4,9 +4,13 @@ package model import ( + "regexp" "strings" ) +var searchTermPuncStart = regexp.MustCompile(`^[^\pL\d\s#"]+`) +var searchTermPuncEnd = regexp.MustCompile(`[^\pL\d\s*"]+$`) + type SearchParams struct { Terms string IsHashtag bool @@ -91,8 +95,8 @@ func parseSearchFlags(input []string) ([]string, [][2]string) { if !isFlag { // trim off surrounding punctuation (note that we leave trailing asterisks to allow wildcards) - word = puncStart.ReplaceAllString(word, "") - word = puncEndWildcard.ReplaceAllString(word, "") + word = searchTermPuncStart.ReplaceAllString(word, "") + word = searchTermPuncEnd.ReplaceAllString(word, "") // and remove extra pound #s word = hashtagStart.ReplaceAllString(word, "#") -- cgit v1.2.3-1-g7c22