|
81b8b1b11c
|
Do not validate a backreference if the group that it refers to is not valid
|
2025-02-11 19:12:58 -05:00 |
|
|
2934e7a20f
|
Wrote tests for backreferences
|
2025-02-11 19:12:40 -05:00 |
|
|
f466d4a8d5
|
More progress on backreference implementation
|
2025-02-11 17:06:39 -05:00 |
|
|
8327450dd2
|
Started implementing backreferences (octal values should now be prefaced with \0)
|
2025-02-11 16:14:54 -05:00 |
|
|
073f231b89
|
Added function and examples for ReplaceAllFunc()
|
2025-02-10 21:35:51 -05:00 |
|
|
3b7257c921
|
Wrote function and example for ReplaceAllLiteral()
|
2025-02-10 21:25:49 -05:00 |
|
|
668df8b70a
|
Wrote MarshalText() and UnmarshalText() to implement TextMarshaler and TextUnmarshaler
|
2025-02-10 12:30:48 -05:00 |
|
|
214acf7e0f
|
Wrote example for ReplaceAll(); fixed out-of-bounds bug in Expand()
|
2025-02-10 12:30:17 -05:00 |
|
|
50221ff4d9
|
Wrote ReplaceAll(), to replace all matches of the regex with a given string
|
2025-02-10 12:29:54 -05:00 |
|
|
5ab95f512a
|
Updated docs
|
2025-02-10 09:36:00 -05:00 |
|
|
e7da678408
|
Removed obsolete documentation
|
2025-02-10 09:35:16 -05:00 |
|
|
ab363e2766
|
Rewrote test for 'FindString()' to use lookarounds
|
2025-02-10 09:24:47 -05:00 |
|
|
c803e45415
|
Added example for 'FindStringSubmatch()'
|
2025-02-10 09:19:24 -05:00 |
|
|
525296f239
|
Added examples for 'FindAllString()' , 'FindAllSubmatch()' and 'FindAllStringSubmatch()'
|
2025-02-10 09:10:39 -05:00 |
|
|
eb0ab9f7ec
|
Wrote test for FindAllStringSubmatch()
|
2025-02-10 08:39:20 -05:00 |
|
|
17a7dbae4c
|
Wrote FindAllStringSubmatch()
|
2025-02-10 08:39:10 -05:00 |
|
|
f2279acd98
|
Fixed mistake in docs
|
2025-02-10 08:12:09 -05:00 |
|
|
d1958f289c
|
Commented out tests that would only pass with Longest()
|
2025-02-09 16:08:16 -05:00 |
|
|
15ee49f42e
|
Rename method receivers from 'regex' to 're' (it's shorter)
|
2025-02-09 15:51:46 -05:00 |
|
|
b60ded4136
|
Don't break when a match is found, if we are looking for the longest match
|
2025-02-09 15:48:33 -05:00 |
|
|
9fbb99f86c
|
Wrote example for Longest()
|
2025-02-09 15:47:57 -05:00 |
|
|
af15904f3b
|
Updated documentation
|
2025-02-09 15:41:13 -05:00 |
|
|
d522f50b50
|
Wrote new example functions
|
2025-02-09 15:40:59 -05:00 |
|
|
fb47e082eb
|
Wrote new methods Expand() and preferLongest(); Use new function signatures (with preferLongest); only characters should be added to next state list
|
2025-02-09 15:40:39 -05:00 |
|
|
1f5a363539
|
Use new function signatures (with preferLongest)
|
2025-02-09 15:39:09 -05:00 |
|
|
9e12f9dcb3
|
Added field to Reg, denoting if we prefer longest match (POSIX style) or not (perl style)
|
2025-02-09 15:38:26 -05:00 |
|
|
47f88c817f
|
Fixed typo
|
2025-02-09 15:14:17 -05:00 |
|
|
835d495990
|
Removed capitalization for error message (staticcheck)
|
2025-02-09 09:14:45 -05:00 |
|
|
76e0170cb9
|
Removed unused function
|
2025-02-09 09:13:52 -05:00 |
|
|
d172a58258
|
Throw error if match isn't found but test.result has >0 elements
|
2025-02-09 09:13:29 -05:00 |
|
|
7231169270
|
Removed unused functions
|
2025-02-09 09:13:03 -05:00 |
|
|
b7467a00f1
|
Removed priorityQueue (unused)
|
2025-02-09 09:07:43 -05:00 |
|
|
c6ad4caa0d
|
Removed a bunch of unused code (let's go!!!)
|
2025-02-09 09:06:40 -05:00 |
|
|
6334435b83
|
Updated tests since the engine uses Perl matching instead of POSIX matching; added tests for FindStringSubmatch
|
2025-02-09 09:01:42 -05:00 |
|
|
78fb5606dd
|
Use new definition of Reg
|
2025-02-09 08:59:16 -05:00 |
|
|
eddd2ae700
|
Updated documentation
|
2025-02-09 08:58:58 -05:00 |
|
|
c577064977
|
Added string field to Reg, that contains the expression string; wrote method to return the string
|
2025-02-09 08:58:46 -05:00 |
|
|
d4e3942d27
|
Added Match() and FindStringSubmatch(); removed old code; updated comments
|
2025-02-09 08:58:09 -05:00 |
|
|
f15a5cae34
|
Store all states visited in a single run of 'addStateToList()' in a slice
|
2025-02-08 16:07:01 -05:00 |
|
|
62ca1a872a
|
Made zeroLengthMatchState() return a pointer; reduced the number of comparisons performd by nfaState.equals
|
2025-02-08 16:06:14 -05:00 |
|
|
99230b49de
|
Use new function signature for zeroLengthMatchState()
|
2025-02-08 16:05:35 -05:00 |
|
|
22ead83625
|
Fixed assertion matching
|
2025-02-07 16:19:36 -05:00 |
|
|
3604486a9b
|
Used Pike's algorithm (an extension to Thompson's algorithm) (see Russ Cox's 2nd article); I think I almost have a working PCRE-style engine
|
2025-02-07 16:06:45 -05:00 |
|
|
052de55826
|
question() now returns 2 values
|
2025-02-07 16:04:46 -05:00 |
|
|
d2ad0d95a8
|
Modified question operator so that it doesn't create an unnecessary zero-state
|
2025-02-07 16:04:26 -05:00 |
|
|
ccf3b3b299
|
More progress on implementing PCRE matching
|
2025-02-06 22:08:56 -05:00 |
|
|
1d4f695f8f
|
Wrote function to check if a state is in an nfaState, based on the Equals function
|
2025-02-06 22:06:51 -05:00 |
|
|
8534174ea1
|
Use pointers instead of values
|
2025-02-06 22:06:22 -05:00 |
|
|
ed4ffde64e
|
REFACTOR NEEDED: Added another special case; insert instead of appending into currentStates
|
2025-02-05 22:51:55 -05:00 |
|
|
fbc9bea9fb
|
Commented out unused functions; use new nfaState parameters
|
2025-02-05 22:23:31 -05:00 |
|