1[[tests]] 2name = "crazy-misc1" 3pattern = '[-+]?[0-9]*\.?[0-9]+' 4input = "0.1" 5matches = [[0, 3]] 6 7[[tests]] 8name = "crazy-misc2" 9pattern = '[-+]?[0-9]*\.?[0-9]+' 10input = "0.1.2" 11matches = [[0, 3]] 12 13[[tests]] 14name = "crazy-misc3" 15pattern = '[-+]?[0-9]*\.?[0-9]+' 16input = "a1.2" 17matches = [[1, 4]] 18 19[[tests]] 20options = ["case-insensitive"] 21name = "crazy-misc4" 22pattern = '[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}' 23input = "mine is jam.slam@gmail.com " 24matches = [[8, 26]] 25 26[[tests]] 27options = ["case-insensitive"] 28name = "crazy-misc5" 29pattern = '[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}' 30input = "mine is jam.slam@gmail " 31matches = [] 32 33[[tests]] 34name = "crazy-misc6" 35pattern = '''[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?''' 36input = "mine is jam.slam@gmail.com " 37matches = [[8, 26]] 38 39[[tests]] 40name = "crazy-misc7" 41pattern = '(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])' 42input = "1900-01-01" 43matches = [[0, 10]] 44 45[[tests]] 46name = "crazy-misc8" 47pattern = '(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])' 48input = "1900-00-01" 49matches = [] 50 51[[tests]] 52name = "crazy-misc9" 53pattern = '(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])' 54input = "1900-13-01" 55matches = [] 56 57 58[[tests]] 59name = "crazy-negclass1" 60pattern = "[^ac]" 61input = "acx" 62matches = [[2, 3]] 63 64[[tests]] 65name = "crazy-negclass2" 66pattern = "[^a,]" 67input = "a,x" 68matches = [[2, 3]] 69 70[[tests]] 71name = "crazy-negclass3" 72pattern = '[^a\s]' 73input = "a x" 74matches = [[2, 3]] 75 76[[tests]] 77name = "crazy-negclass4" 78pattern = "[^,]" 79input = ",,x" 80matches = [[2, 3]] 81 82[[tests]] 83name = "crazy-negclass5" 84pattern = '[^\s]' 85input = " a" 86matches = [[1, 2]] 87 88[[tests]] 89name = "crazy-negclass6" 90pattern = '[^,\s]' 91input = ", a" 92matches = [[2, 3]] 93 94[[tests]] 95name = "crazy-negclass7" 96pattern = '[^\s,]' 97input = " ,a" 98matches = [[2, 3]] 99 100[[tests]] 101name = "crazy-negclass8" 102pattern = "[^[:alpha:]Z]" 103input = "A1" 104matches = [[1, 2]] 105 106 107[[tests]] 108name = "crazy-empty-repeat1" 109pattern = "((.*)*?)=" 110input = "a=b" 111matches = [[0, 2]] 112 113[[tests]] 114name = "crazy-empty-repeat2" 115pattern = "((.?)*?)=" 116input = "a=b" 117matches = [[0, 2]] 118 119[[tests]] 120name = "crazy-empty-repeat3" 121pattern = "((.*)+?)=" 122input = "a=b" 123matches = [[0, 2]] 124 125[[tests]] 126name = "crazy-empty-repeat4" 127pattern = "((.?)+?)=" 128input = "a=b" 129matches = [[0, 2]] 130 131[[tests]] 132name = "crazy-empty-repeat5" 133pattern = "((.*){1,}?)=" 134input = "a=b" 135matches = [[0, 2]] 136 137[[tests]] 138name = "crazy-empty-repeat6" 139pattern = "((.*){1,2}?)=" 140input = "a=b" 141matches = [[0, 2]] 142 143[[tests]] 144name = "crazy-empty-repeat7" 145pattern = "((.*)*)=" 146input = "a=b" 147matches = [[0, 2]] 148 149[[tests]] 150name = "crazy-empty-repeat8" 151pattern = "((.?)*)=" 152input = "a=b" 153matches = [[0, 2]] 154 155[[tests]] 156name = "crazy-empty-repeat9" 157pattern = "((.*)+)=" 158input = "a=b" 159matches = [[0, 2]] 160 161[[tests]] 162name = "crazy-empty-repeat10" 163pattern = "((.?)+)=" 164input = "a=b" 165matches = [[0, 2]] 166 167[[tests]] 168name = "crazy-empty-repeat11" 169pattern = "((.*){1,})=" 170input = "a=b" 171matches = [[0, 2]] 172 173[[tests]] 174name = "crazy-empty-repeat12" 175pattern = "((.*){1,2})=" 176input = "a=b" 177matches = [[0, 2]] 178