-
Notifications
You must be signed in to change notification settings - Fork 202
Open
Description
Currently, Lua pattern matching is not implemented in the string library. This limits the functionality of several string functions to plain text operations only.
Missing Pattern Matching Support
The following functions are either missing or have incomplete pattern matching:
string.find- Only supports plain text search, pattern matching raisesTODO implement pattern matchingstring.match- Not implemented (commented out)string.gsub- Not implemented (commented out)string.gmatch- Not implemented (commented out)
Current Implementation
In findHelper, pattern matching is explicitly unimplemented:
} else {
l.assert(false) // TODO implement pattern matching
}Use Cases
Pattern matching is essential for:
- Text processing and validation
- String transformations (gsub)
- Data extraction from structured text
- Cleaning up command output
Example of currently failing code:
-- These would fail with current implementation:
local result = str:gsub("%s+", "") -- Remove whitespace
local match = str:match("(%d+)") -- Extract numbers
local iter = str:gmatch("%w+") -- Word iteratorImpact
This limitation forces users to work around missing functionality with manual string manipulation, reducing the utility of go-lua for text processing applications.
Would it be possible to implement Lua's standard pattern matching engine for these string functions?
Metadata
Metadata
Assignees
Labels
No labels