diff options
author | Flaviu Tamas <tamasflaviu@gmail.com> | 2015-01-10 16:36:51 -0500 |
---|---|---|
committer | Flaviu Tamas <tamasflaviu@gmail.com> | 2015-01-10 16:39:51 -0500 |
commit | 48c29ac9052b4ade187c51063693c3ed2ec27855 (patch) | |
tree | 0be01771e079a39b05678eddb33c3b47195f1edd /src/nre.nim | |
parent | d2c20a32edd8ecb0d2ddaa3cfe39774caedceceb (diff) | |
download | Nim-48c29ac9052b4ade187c51063693c3ed2ec27855.tar.gz |
Add access to capture count and names
Diffstat (limited to 'src/nre.nim')
-rw-r--r-- | src/nre.nim | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/nre.nim b/src/nre.nim index 338b26944..e457306d6 100644 --- a/src/nre.nim +++ b/src/nre.nim @@ -96,13 +96,18 @@ proc getinfo[T](self: Regex, opt: cint): T = # XXX Error message that doesn't expose implementation details raise newException(FieldError, "Invalid getinfo for $1, errno $2" % [$opt, $retcode]) +# Capture accessors {{{ proc captureCount(self: Regex): int = ## get the maximum number of captures ## ## Does not return the number of captured captures return getinfo[int](self, pcre.INFO_CAPTURECOUNT) -# Capture accessors {{{ +proc captureNames*(self: Regex): seq[string] = + result = @[] + for key in self.captureNameToId.keys: + result.add(key) + proc captureBounds*(self: RegexMatch): CaptureBounds = return CaptureBounds(self) proc captures*(self: RegexMatch): Captures = return Captures(self) |