title: Find emojis in a tweet as whole clusters and not as individual chars
body: <p>So first question I've ever asked on here, and its about emojis. I'm sorry.</p>
  
  <p>I am making a twitter bot in python with the help of <a href="https://www.tweepy.org/" rel="nofollow noreferrer">Tweepy</a>, and <a href="https://pypi.org/project/regex/" rel="nofollow noreferrer">regex</a> ( also tried <a href="https://pypi.org/project/python-pcre/" rel="nofollow noreferrer">python-pcre</a> ) that will analyse a tweet of a given user, and record the number of times a word or emoji was used. I can do most of this just fine. My problems start with the emojis.</p>
  
  <p>I was under the impression that when using \X, (in both regex and python-pcre) will find the eXtended grapheme clusters. Not just the individual ones. I read in another post <a href="https://stackoverflow.com/questions/9928505/what-does-the-expression-x-match-when-inside-a-regex">What does the expression \X match when inside a RegEx?</a> that \X follows a set of guidelines to determine if the next char should be clustered, but will always return at least 1.</p>
  
  <p>I tried the first and second solution over at this post: <a href="https://stackoverflow.com/questions/43146528/how-to-extract-all-the-emojis-from-text">How to extract all the emojis from text?</a>. </p>
  
  <p>The first one acted as expected. Grabs individual code-points and adds them to a list. Perfect for single code-point emojis, but I need to capture emojis with multiple code-points, and single code-point emojis.</p>
  
  <p>The second solution one is where I am having problems. According to the post this function should print the emojis in a string, in clusters, separated by spaces.</p>
  
  <pre><code>def split_count(self, text):
          emoji_list = []
          data = regex.findall(r'\X', text)
          for word in data:
              if any(char in emoji.UNICODE_EMOJI for char in word):
                  emoji_list.append(word)
          return emoji_list
  </code></pre>
  
  <p>When called like:</p>
  
  <pre><code>counter = self.split_count(tweet)
  print(' '.join(emoji for emoji in counter))
  </code></pre>
  
  <p>Should result in:</p>
  
  <pre><code> ‍‍‍
  </code></pre>
  
  <p>However when I run it I get:</p>
  
  <pre><code>    
  </code></pre>
  
  <p>100% not clustered.</p>
  
  <p>Why is this happening? This has been bugging me for a couple days now. </p>