1pub use quickjs_regex_backend::*;
2pub use quickjs_regex_derive::*;
3
4#[test]
5fn test_regex() {
6 let reg = "(Α)123456".repeat(1);
7 let text = "α123456".repeat(1000);
8 let regex = Regex::compile(®, IGNORECASE).unwrap();
9 let result = regex.try_match(&text).unwrap();
10 assert!(result.len() == 2);
11
12 let reg = "/(\0)123456".repeat(1);
13 let text = "/\0123456".repeat(1000);
14 let regex = Regex::compile(®, IGNORECASE).unwrap();
15 let result = regex.try_match(&text).unwrap();
16 assert!(result.len() == 2);
17
18 let reg = "(\u{1})(2)(3)456".repeat(1);
19 let text = "\u{1}23\u{1}23456\u{1}23";
20 let regex = Regex::compile(®, IGNORECASE | UNICODE).unwrap();
21 let result = regex
22 .try_replace(&text, |m| format!("x{}{}{}", m[1], m[2], m[3]))
23 .unwrap();
24 assert!(result == "\u{1}23x\u{1}23\u{1}23");
25 let regex = Regex::compile("(\\d)", UNICODE).unwrap();
26 let result = regex
27 .try_replacen("12345", |m| format!("x{}", m[1]), 2)
28 .unwrap();
29 assert!(result == "x1x2345");
30 let result = regex
31 .try_replace_all("12345", |m| format!("x{}", m[1]))
32 .unwrap();
33 assert!(result == "x1x2x3x4x5");
34 let result = regex.try_match_all("12345").unwrap();
35 assert!(result == [["1", "1"], ["2", "2"], ["3", "3"], ["4", "4"], ["5", "5"]]);
36}