aboutsummaryrefslogtreecommitdiff
path: root/core/text/regex/regex.odin
Commit message (Collapse)AuthorAgeFilesLines
* text/regex: Pass given allocator on in create_iteratorFabian Erdmann12 days1-2/+2
|
* Change Odin's LICENSE to zlib from BSD 3-clausegingerBill2025-10-281-1/+1
| | | | This change was made in order to allow things produced with Odin and using Odin's core library, to not require the LICENSE to also be distributed alongside the binary form.
* text/regex: Remove old docmentation and unneeded flagFeoramund2025-06-201-4/+0
| | | | | `Unsupported_Flag` was used back when the iterator did not handle `.Multiline`.
* Fix multiline RegEx iterationFeoramund2025-05-261-4/+1
| | | | | | | | | | In `.Multiline` mode: - `^` is now defined to assert the start of the string or that a "\n" or "\r" rune was parsed on last VM dispatch. - `$` is now defined to consume a newline sequence of "\n", "\r", or "\r\n" or to assert the end of the string.
* Remove `Global` RegEx flag, default to unanchored patternsFeoramund2025-05-241-4/+0
|
* Make RegEx VM restartable and fix iterator infinite loopFeoramund2025-05-241-5/+62
|
* Disallow .Multiline in iterator.Jeroen van Rijn2025-04-071-0/+8
|
* Remove now unused field.Jeroen van Rijn2025-04-071-1/+0
|
* Optimize regex match iterator.Jeroen van Rijn2025-04-071-16/+40
| | | | Reuse virtual machine and capture groups between matches.
* Return loop index in regex iterator.Jeroen van Rijn2025-04-061-2/+12
|
* {.Glboal} implicit in regex allocator.Jeroen van Rijn2025-04-061-0/+2
|
* Add iterator for `core:text/regex`.Jeroen van Rijn2025-04-061-5/+95
| | | | | | | | | | | | | | | Usage: ```odin haystack := `xxfoobarxfoobarxx` pattern := `f(o)ob(ar)` it := regex.create_iterator(haystack, pattern, {.Global}) or_return defer regex.destroy(it) for capture in regex.match(&it) { fmt.println(capture) } ```
* fix: regex's match_with_preallocated_capture returning num_groupsYcros2024-12-041-0/+1
|
* Review manual `for` loops in `core:text/regex`Feoramund2024-08-051-1/+1
|
* Add explicit license info to `core:text/regex`Feoramund2024-08-041-0/+8
|
* Add more documentation for `core:text/regex` APIFeoramund2024-08-041-0/+21
|
* Move `Flag_To_Letter` to `core:text/regex/common`Feoramund2024-08-041-11/+0
|
* Hide `Regular_Expression` valuesFeoramund2024-08-041-2/+2
| | | | | | | We don't directly support printing these. To prevent future issues being raised about the pattern being missing if someone tries to print one, hide everything.
* Remove printing facilities for `Regular_Expression`Feoramund2024-07-241-2/+0
| | | | | | | | | The `original_pattern` introduced a tenuous dependency to the expression value as a whole, and after some consideration, I decided that it would be better for the developer to manage their own pattern strings. In the event you need to print the text representation of a pattern, it's usually better that you manage the memory of it as well.
* Add `core:text/regex`Feoramund2024-07-221-0/+434