Skip to content

Instantly share code, notes, and snippets.

@genbtc
Created September 26, 2025 15:43
Show Gist options
  • Select an option

  • Save genbtc/14935cd33ffffe59f900d008dcfc2749 to your computer and use it in GitHub Desktop.

Select an option

Save genbtc/14935cd33ffffe59f900d008dcfc2749 to your computer and use it in GitHub Desktop.
extract_emojis_v2.py
#!/usr/bin/env python3
import re
import sys
import textwrap
# Regex covering most emoji ranges
emoji_pattern = re.compile(
"[\U0001F600-\U0001F64F" # Emoticons
"\U0001F300-\U0001F5FF" # Symbols & pictographs
"\U0001F680-\U0001F6FF" # Transport & map symbols
"\U0001F700-\U0001F77F" # Alchemical symbols
"\U0001F780-\U0001F7FF" # Geometric shapes extended
"\U0001F800-\U0001F8FF" # Supplemental arrows
"\U0001F900-\U0001F9FF" # Supplemental symbols & pictographs
"\U0001FA00-\U0001FA6F" # Chess, symbols
"\U0001FA70-\U0001FAFF" # Symbols & pictographs extended-A
"\u2702-\u27B0" # Dingbats
"\u24C2-\U0001F251" # Enclosed characters
"]+", flags=re.UNICODE)
def extract_emojis(filename):
with open(filename, "r", encoding="utf-8", errors="ignore") as f:
text = f.read()
return emoji_pattern.findall(text)
if __name__ == "__main__":
if len(sys.argv) < 2:
print(f"Usage: {sys.argv[0]} <logfile>")
sys.exit(1)
emojis = "".join(extract_emojis(sys.argv[1]))
wrapped = textwrap.fill(emojis, width=80)
print(wrapped)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment