From 37eef5e9542f0c2856ab361ed94fbf8fad521454 Mon Sep 17 00:00:00 2001 From: Costantino Perciante Date: Thu, 8 Sep 2016 12:45:08 +0000 Subject: [PATCH] Hashtag regex updated. Moved to versione 1.0.1 git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/social-networking/social-util-library@131216 82a268e6-3cf1-43bd-a215-b396298e98cf --- distro/changelog.xml | 4 ++++ pom.xml | 2 +- .../socialutillibrary/Utils.java | 8 +++++++- .../socialutillibrary/TestUnit.java | 15 +++++++++++++++ 4 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 src/test/java/org/gcube/social_networking/socialutillibrary/TestUnit.java diff --git a/distro/changelog.xml b/distro/changelog.xml index aea611d..c0268e2 100644 --- a/distro/changelog.xml +++ b/distro/changelog.xml @@ -1,4 +1,8 @@ + + Hashtag regular expression updated (See ticket #4937) + First Release diff --git a/pom.xml b/pom.xml index 90b3061..16f1ad5 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ org.gcube.socialnetworking social-util-library - 1.0.0-SNAPSHOT + 1.0.1-SNAPSHOT social-util-library The social-util-library contains utility functions that can be used by the social-networking portlets. diff --git a/src/main/java/org/gcube/social_networking/socialutillibrary/Utils.java b/src/main/java/org/gcube/social_networking/socialutillibrary/Utils.java index 6988788..04cf2e6 100644 --- a/src/main/java/org/gcube/social_networking/socialutillibrary/Utils.java +++ b/src/main/java/org/gcube/social_networking/socialutillibrary/Utils.java @@ -35,6 +35,12 @@ public class Utils { * logger */ private static final Logger logger = LoggerFactory.getLogger(Utils.class); + + /** + * Hashtag regex enhanced for ticket #4937 + * If you want to accept hashtags of type #X, then you will need to use ^#\\w*[.]*\\w+|\\s#\\w*[.]*\\w+ + */ + private static final String HASHTAG_REGEX = "^#\\w+[.]*\\w+|\\s#\\w+[.]*\\w+"; /** * @@ -129,7 +135,7 @@ public class Utils { */ public static List getHashTags(String postText) { List hashtags = new ArrayList<>(); - Pattern MY_PATTERN = Pattern.compile("^#\\w+|\\s#\\w+"); + Pattern MY_PATTERN = Pattern.compile(HASHTAG_REGEX);//Pattern.compile("^#\\w+|\\s#\\w+"); Matcher matcher = MY_PATTERN.matcher(postText); while (matcher.find()) { hashtags.add("#"+matcher.group().replace(" ", "").replace("#", "")); diff --git a/src/test/java/org/gcube/social_networking/socialutillibrary/TestUnit.java b/src/test/java/org/gcube/social_networking/socialutillibrary/TestUnit.java new file mode 100644 index 0000000..09f77d4 --- /dev/null +++ b/src/test/java/org/gcube/social_networking/socialutillibrary/TestUnit.java @@ -0,0 +1,15 @@ +package org.gcube.social_networking.socialutillibrary; + +import java.util.List; + +public class TestUnit { + + + //@Test + public void testHashtag() { + String text = "This is a test with hashtag #T6 and #T6.1 but also #T6. that has '.' that is useless."; + List hashtags = Utils.getHashTags(text); + System.out.println("Hashtags are " + hashtags); + } + +}