{'fraction_non_alphanumeric': 0.021468926553672316, 'fraction_numerical': 0.010169491525423728, 'mean_word_length': 5.110344827586207, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
TiReX: Tiled Regular eXpression Matching Architecture

Regular Expressions (RE) are widely used to find patterns among data, like in genomic markers research for DNA analysis, deep packet inspection or signature-based detection for network intrusion detection system. This paper proposes a novel and efficient RE matching architecture for FPGAs, based on the concept of matching core. RE can be software-compiled into sequences of basic matching instructions that a matching core runs on input data, and can be replaced to change the RE to be matched. This architecture can easily scale up with the available resources and is customizable to multiple usage scenarios. We ran several experiments and compared the obtained results with a software solution, reaching speedups over 100x, while running at 130MHz, over a Flex-based matching application running on an Intel i7 CPU at 2.8GHz.