import re
def tokenize_message_queue(message):
"""
Tokenizes a message queue string.
Args:
message (str): The message queue string.
Returns:
list: A list of tokens.
"""
# Define regex patterns for different tokens
patterns = [
r"([a-zA-Z0-9]+)", # Alphanumeric tokens
r"(\d+)", # Numeric tokens
r"([._-]+)", # Dot, underscore or hyphen separated tokens
r"(\s+)", # Whitespace
r"([`~@#$%^&*()_+=\[\]{};':\",./<>?\|])" # Special characters
]
tokens = []
for pattern in patterns:
tokens.extend(re.findall(pattern, message))
#Remove empty strings
tokens = [token for token in tokens if token]
return tokens
if __name__ == '__main__':
# Example usage
message = "message.queue_name@example.com 123 abc ~def"
tokens = tokenize_message_queue(message)
print(tokens)
Add your comment