| [[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 [email protected] " |
| 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 [email protected] " |
| 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]] |