summaryrefslogtreecommitdiff
path: root/bench/regex-match.myr
blob: 47c9264cbee5537de570e6fd80dfc484f9415b15 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
use std
use regex

const main = {
	var str, re, i

	str = "€i²æ&±-ŝ€i²æ&±-ŝ€i²æ&±-ŝ€i²æ&±-ŝ€i²æ&±-ŝüüü€i²æ&±-ŝüüü€i²æ&±-ŝü"
	str = std.strcat(str, str)
	str = std.strcat(str, str)
	str = std.strcat(str, str)
	str = std.strcat(str, str)

	for i = 0; i < 100; i++
		match regex.compile(".*")
		| `std.Ok r:	re = r
		| `std.Err m:	std.fatal("couldn't compile regex: %s\n", m)
		;;

		match regex.exec(re, str)
		| `std.Some m:
		| `std.None:	std.fatal("Didn't match regex\n")
		;;

		regex.free(re)
	;;
}