ndp.lua

changeset 9
dc0c8914ac04
parent 7
7f095ddcfd54
child 11
a40db377a1b5
equal deleted inserted replaced
8:8c6e74396e22 9:dc0c8914ac04
154 time = adjust_time(time, "min", 30); 154 time = adjust_time(time, "min", 30);
155 end 155 end
156 end }; 156 end };
157 } 157 }
158 158
159 local ret, pos; 159 local ret, min_pos, max_pos;
160 for _, pattern in pairs(patterns) do 160 for _, pattern in pairs(patterns) do
161 ret = lpeg.match(lpeg.P{ pattern[1] + 1 * lpeg.V(1) }, str); 161 ret = lpeg.match(lpeg.P{ lpeg.Cp()*pattern[1] + 1 * lpeg.V(1) }
162 /function (start) start = start - 1; if not min_pos or start < min_pos then min_pos = start; end end, str);
162 if ret then 163 if ret then
163 pos = ret; 164 if not max_pos or ret > max_pos then max_pos = ret; end
164 --print("Matches ".._.." until "..ret); 165 --print("Matches ".._.." until "..ret);
165 end 166 end
166 end 167 end
167 168
168 return time, pos; 169 return time, min_pos, max_pos;
169 end 170 end
170 171

mercurial