resharp 0.4.1

high-performance regex engine with intersection and complement operations
Documentation
description = '''
basic engine tests: literals, classes, alternation, greedy quantifiers.
matches = [[start, end]] in utf8 bytes (half-open intervals).
'''

[[test]]
name = "basic_literal"
pattern = "abc"
input = "xxabcxx"
matches = [[2, 5]]

[[test]]
name = "multiple_matches"
pattern = "aa"
input = "aaaa"
matches = [[0, 2], [2, 4]]

[[test]]
name = "no_match"
pattern = "xyz"
input = "hello"
matches = []

[[test]]
name = "comment_pattern"
pattern = '/\*[\d\D]*\*/'
input = "/* my comment */"
matches = [[0, 16]]

[[test]]
name = "negated_class"
pattern = "[^F]+"
input = "The Adventures of Huckleberry Finn', published in 1885."
matches = [[0, 30], [31, 55]]

[[test]]
name = "quoted_match"
pattern = 'q.*q'
input = "q my comment q"
matches = [[0, 14]]

[[test]]
name = "alternation_spaces"
pattern = "a( |)b( |)c( |)d"
input = "a b c d"
matches = [[0, 7]]

[[test]]
name = "find_first"
pattern = "ab"
input = "xxabab"
matches = [[2, 4], [4, 6]]

[[test]]
name = "greedy_match"
pattern = "a+"
input = "aaa"
matches = [[0, 3]]

[[test]]
name = "negation_intersection"
pattern = '~(_*(d_*){2})&.*down.*'
input = "asd asd down asdasd asd asd "
matches = [[7, 15]]

[[test]]
name = "alt_no_false_positive_ba"
pattern = "(aa|bb|cc)"
input = "ba"
matches = []

[[test]]
name = "alt_no_false_positive_ab"
pattern = "(aa|bb|cc)"
input = "ab"
matches = []

[[test]]
name = "alt_no_false_positive_ca"
pattern = "(aa|bb|cc)"
input = "ca"
matches = []

[[test]]
name = "alt_correct_match"
pattern = "(aa|bb|cc)"
input = "xbbx"
matches = [[1, 3]]

[[test]]
name = "alt_no_match_in_text"
pattern = "(aa|bb|cc)"
input = "We'll be back."
matches = []

[[test]]
name = "alt_list_hash_no_match"
pattern = "list|hash"
input = "Your blood is good to the last drop."
matches = []

[[test]]
name = "alt_foo_bar_no_match"
pattern = "((foo)|(bar))"
input = "It must have been difficult for..."
matches = []

[[test]]
name = "optional_suffix_correct_start"
pattern = 'Download( (Image|File))?'
input = "Download Download"
matches = [[0, 8], [9, 17]]

[[test]]
name = "optional_suffix_with_match"
pattern = 'Download( (Image|File))?'
input = "Download Image"
matches = [[0, 14]]