315 lines
5.4 KiB
TOML
315 lines
5.4 KiB
TOML
[[test]]
|
|
name = "nothing-empty"
|
|
regex = []
|
|
haystack = ""
|
|
matches = []
|
|
|
|
[[test]]
|
|
name = "nothing-something"
|
|
regex = []
|
|
haystack = "wat"
|
|
matches = []
|
|
|
|
[[test]]
|
|
name = "ranges"
|
|
regex = '(?-u)\b(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b'
|
|
haystack = "num: 255"
|
|
matches = [[5, 8]]
|
|
|
|
[[test]]
|
|
name = "ranges-not"
|
|
regex = '(?-u)\b(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\b'
|
|
haystack = "num: 256"
|
|
matches = []
|
|
|
|
[[test]]
|
|
name = "float1"
|
|
regex = '[-+]?[0-9]*\.?[0-9]+'
|
|
haystack = "0.1"
|
|
matches = [[0, 3]]
|
|
|
|
[[test]]
|
|
name = "float2"
|
|
regex = '[-+]?[0-9]*\.?[0-9]+'
|
|
haystack = "0.1.2"
|
|
matches = [[0, 3]]
|
|
match-limit = 1
|
|
|
|
[[test]]
|
|
name = "float3"
|
|
regex = '[-+]?[0-9]*\.?[0-9]+'
|
|
haystack = "a1.2"
|
|
matches = [[1, 4]]
|
|
|
|
[[test]]
|
|
name = "float4"
|
|
regex = '[-+]?[0-9]*\.?[0-9]+'
|
|
haystack = "1.a"
|
|
matches = [[0, 1]]
|
|
|
|
[[test]]
|
|
name = "float5"
|
|
regex = '^[-+]?[0-9]*\.?[0-9]+$'
|
|
haystack = "1.a"
|
|
matches = []
|
|
|
|
[[test]]
|
|
name = "email"
|
|
regex = '(?i-u)\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b'
|
|
haystack = "mine is jam.slam@gmail.com "
|
|
matches = [[8, 26]]
|
|
|
|
[[test]]
|
|
name = "email-not"
|
|
regex = '(?i-u)\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b'
|
|
haystack = "mine is jam.slam@gmail "
|
|
matches = []
|
|
|
|
[[test]]
|
|
name = "email-big"
|
|
regex = '''[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?'''
|
|
haystack = "mine is jam.slam@gmail.com "
|
|
matches = [[8, 26]]
|
|
|
|
[[test]]
|
|
name = "date1"
|
|
regex = '^(?:19|20)\d\d[- /.](?:0[1-9]|1[012])[- /.](?:0[1-9]|[12][0-9]|3[01])$'
|
|
haystack = "1900-01-01"
|
|
matches = [[0, 10]]
|
|
unicode = false
|
|
|
|
[[test]]
|
|
name = "date2"
|
|
regex = '^(?:19|20)\d\d[- /.](?:0[1-9]|1[012])[- /.](?:0[1-9]|[12][0-9]|3[01])$'
|
|
haystack = "1900-00-01"
|
|
matches = []
|
|
unicode = false
|
|
|
|
[[test]]
|
|
name = "date3"
|
|
regex = '^(?:19|20)\d\d[- /.](?:0[1-9]|1[012])[- /.](?:0[1-9]|[12][0-9]|3[01])$'
|
|
haystack = "1900-13-01"
|
|
matches = []
|
|
unicode = false
|
|
|
|
[[test]]
|
|
name = "start-end-empty"
|
|
regex = '^$'
|
|
haystack = ""
|
|
matches = [[0, 0]]
|
|
|
|
[[test]]
|
|
name = "start-end-empty-rev"
|
|
regex = '$^'
|
|
haystack = ""
|
|
matches = [[0, 0]]
|
|
|
|
[[test]]
|
|
name = "start-end-empty-many-1"
|
|
regex = '^$^$^$'
|
|
haystack = ""
|
|
matches = [[0, 0]]
|
|
|
|
[[test]]
|
|
name = "start-end-empty-many-2"
|
|
regex = '^^^$$$'
|
|
haystack = ""
|
|
matches = [[0, 0]]
|
|
|
|
[[test]]
|
|
name = "start-end-empty-rep"
|
|
regex = '(?:^$)*'
|
|
haystack = "a\nb\nc"
|
|
matches = [[0, 0], [1, 1], [2, 2], [3, 3], [4, 4], [5, 5]]
|
|
|
|
[[test]]
|
|
name = "start-end-empty-rep-rev"
|
|
regex = '(?:$^)*'
|
|
haystack = "a\nb\nc"
|
|
matches = [[0, 0], [1, 1], [2, 2], [3, 3], [4, 4], [5, 5]]
|
|
|
|
[[test]]
|
|
name = "neg-class-letter"
|
|
regex = '[^ac]'
|
|
haystack = "acx"
|
|
matches = [[2, 3]]
|
|
|
|
[[test]]
|
|
name = "neg-class-letter-comma"
|
|
regex = '[^a,]'
|
|
haystack = "a,x"
|
|
matches = [[2, 3]]
|
|
|
|
[[test]]
|
|
name = "neg-class-letter-space"
|
|
regex = '[^a[:space:]]'
|
|
haystack = "a x"
|
|
matches = [[2, 3]]
|
|
|
|
[[test]]
|
|
name = "neg-class-comma"
|
|
regex = '[^,]'
|
|
haystack = ",,x"
|
|
matches = [[2, 3]]
|
|
|
|
[[test]]
|
|
name = "neg-class-space"
|
|
regex = '[^[:space:]]'
|
|
haystack = " a"
|
|
matches = [[1, 2]]
|
|
|
|
[[test]]
|
|
name = "neg-class-space-comma"
|
|
regex = '[^,[:space:]]'
|
|
haystack = ", a"
|
|
matches = [[2, 3]]
|
|
|
|
[[test]]
|
|
name = "neg-class-comma-space"
|
|
regex = '[^[:space:],]'
|
|
haystack = " ,a"
|
|
matches = [[2, 3]]
|
|
|
|
[[test]]
|
|
name = "neg-class-ascii"
|
|
regex = '[^[:alpha:]Z]'
|
|
haystack = "A1"
|
|
matches = [[1, 2]]
|
|
|
|
[[test]]
|
|
name = "lazy-many-many"
|
|
regex = '(?:(?:.*)*?)='
|
|
haystack = "a=b"
|
|
matches = [[0, 2]]
|
|
|
|
[[test]]
|
|
name = "lazy-many-optional"
|
|
regex = '(?:(?:.?)*?)='
|
|
haystack = "a=b"
|
|
matches = [[0, 2]]
|
|
|
|
[[test]]
|
|
name = "lazy-one-many-many"
|
|
regex = '(?:(?:.*)+?)='
|
|
haystack = "a=b"
|
|
matches = [[0, 2]]
|
|
|
|
[[test]]
|
|
name = "lazy-one-many-optional"
|
|
regex = '(?:(?:.?)+?)='
|
|
haystack = "a=b"
|
|
matches = [[0, 2]]
|
|
|
|
[[test]]
|
|
name = "lazy-range-min-many"
|
|
regex = '(?:(?:.*){1,}?)='
|
|
haystack = "a=b"
|
|
matches = [[0, 2]]
|
|
|
|
[[test]]
|
|
name = "lazy-range-many"
|
|
regex = '(?:(?:.*){1,2}?)='
|
|
haystack = "a=b"
|
|
matches = [[0, 2]]
|
|
|
|
[[test]]
|
|
name = "greedy-many-many"
|
|
regex = '(?:(?:.*)*)='
|
|
haystack = "a=b"
|
|
matches = [[0, 2]]
|
|
|
|
[[test]]
|
|
name = "greedy-many-optional"
|
|
regex = '(?:(?:.?)*)='
|
|
haystack = "a=b"
|
|
matches = [[0, 2]]
|
|
|
|
[[test]]
|
|
name = "greedy-one-many-many"
|
|
regex = '(?:(?:.*)+)='
|
|
haystack = "a=b"
|
|
matches = [[0, 2]]
|
|
|
|
[[test]]
|
|
name = "greedy-one-many-optional"
|
|
regex = '(?:(?:.?)+)='
|
|
haystack = "a=b"
|
|
matches = [[0, 2]]
|
|
|
|
[[test]]
|
|
name = "greedy-range-min-many"
|
|
regex = '(?:(?:.*){1,})='
|
|
haystack = "a=b"
|
|
matches = [[0, 2]]
|
|
|
|
[[test]]
|
|
name = "greedy-range-many"
|
|
regex = '(?:(?:.*){1,2})='
|
|
haystack = "a=b"
|
|
matches = [[0, 2]]
|
|
|
|
[[test]]
|
|
name = "empty1"
|
|
regex = ''
|
|
haystack = ""
|
|
matches = [[0, 0]]
|
|
|
|
[[test]]
|
|
name = "empty2"
|
|
regex = ''
|
|
haystack = "abc"
|
|
matches = [[0, 0], [1, 1], [2, 2], [3, 3]]
|
|
|
|
[[test]]
|
|
name = "empty3"
|
|
regex = '(?:)'
|
|
haystack = "abc"
|
|
matches = [[0, 0], [1, 1], [2, 2], [3, 3]]
|
|
|
|
[[test]]
|
|
name = "empty4"
|
|
regex = '(?:)*'
|
|
haystack = "abc"
|
|
matches = [[0, 0], [1, 1], [2, 2], [3, 3]]
|
|
|
|
[[test]]
|
|
name = "empty5"
|
|
regex = '(?:)+'
|
|
haystack = "abc"
|
|
matches = [[0, 0], [1, 1], [2, 2], [3, 3]]
|
|
|
|
[[test]]
|
|
name = "empty6"
|
|
regex = '(?:)?'
|
|
haystack = "abc"
|
|
matches = [[0, 0], [1, 1], [2, 2], [3, 3]]
|
|
|
|
[[test]]
|
|
name = "empty7"
|
|
regex = '(?:)(?:)'
|
|
haystack = "abc"
|
|
matches = [[0, 0], [1, 1], [2, 2], [3, 3]]
|
|
|
|
[[test]]
|
|
name = "empty8"
|
|
regex = '(?:)+|z'
|
|
haystack = "abc"
|
|
matches = [[0, 0], [1, 1], [2, 2], [3, 3]]
|
|
|
|
[[test]]
|
|
name = "empty9"
|
|
regex = 'z|(?:)+'
|
|
haystack = "abc"
|
|
matches = [[0, 0], [1, 1], [2, 2], [3, 3]]
|
|
|
|
[[test]]
|
|
name = "empty10"
|
|
regex = '(?:)+|b'
|
|
haystack = "abc"
|
|
matches = [[0, 0], [1, 1], [2, 2], [3, 3]]
|
|
|
|
[[test]]
|
|
name = "empty11"
|
|
regex = 'b|(?:)+'
|
|
haystack = "abc"
|
|
matches = [[0, 0], [1, 2], [3, 3]]
|