diff options
-rw-r--r-- | main.golem | 2 | ||||
-rw-r--r-- | regem.golem | 18 |
2 files changed, 14 insertions, 6 deletions
@@ -1,5 +1,5 @@ main() { local size; - dbg regem("bonsoir", "^b.n..ir$", &size); + dbg regem("bonoir", "bon?A?soir", &size); dbg size; } diff --git a/regem.golem b/regem.golem index 1d66d0b..cec4643 100644 --- a/regem.golem +++ b/regem.golem @@ -12,12 +12,20 @@ _regem_match(s, ex, out_size) { return 0; else if ([ex] == '.') ; - else if ([s] != [ex]) + else if ([ex] == '?' & [ex + 1] != 0) { + ex++; + if ([s] == [ex]) { + s++; + size++; + } + ex++; + } else if ([s] != [ex]) return 0; - - s++; - ex++; - size++; + else { + s++; + ex++; + size++; + } } } |