[squeak-smalltalk/squeak-object-memory] Greedy matching in lookbehind expressions not working (Issue #159)

Christoph Thiede via Squeak-dev <[email protected]> Fri, 12 Jun 2026 17:04:47 -0700
Newsgroups gmane.comp.lang.smalltalk.squeak.general
Message-ID <squeak-smalltalk/squeak-object-memory/issues/[email protected]>
LinqLover created an issue (squeak-smalltalk/squeak-object-memory#159)

```smalltalk
'ab' copyWithRegex: '(?<=b*)b' matchesReplacedWith: 'X'.
```

Expected: `'aX'`

Actual: `'ab'`

When the lookbehind node attempts to match `b*` from `position = 1`, this inadvertently matches up to `position = 2` and then fails because the final piece after the lookbehind can no longr be matched. Maybe the global backtracking barrier in lookaround nodes can simply not work...

-- 
Reply to this email directly or view it on GitHub:
https://github.com/squeak-smalltalk/squeak-object-memory/issues/159
You are receiving this because you are subscribed to this thread.

Message ID: <squeak-smalltalk/squeak-object-memory/issues/[email protected]>

Squeak-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]