Actions
Bug #20262
closedRegex mismatch between Ruby 3.2.2 and 3.3.0
Description
This might be a duplicate of https://bugs.ruby-lang.org/issues/20098, but I cannot make it match with the backref so maybe not.
Below example matches in 3.2.2 but not in 3.3.0
str = "------------abcdefg------------#3895912"
re = /()\1\b\w*[a-zA-Z-]*\d+[\w-]{3,}\w+\b/
re.match?(str)
Updated by weilandia (Nick Weiland) 9 months ago
I accidentally left the "()\1" in the original post, but it should not be there and I don't see a way to change it. The code example should be:
str = "------------abcdefg------------#3895912"
re = /\b\w*[a-zA-Z-]*\d+[\w-]{3,}\w+\b/
re.match?(str)
Updated by mame (Yusuke Endoh) 6 months ago
- Status changed from Open to Closed
Maybe the same issue as https://bugs.ruby-lang.org/issues/20083. Fixed at 3.3.1.
$ RBENV_VERSION=3.2.2 ruby -e 'str = "------------abcdefg------------#3895912"
re = /\b\w*[a-zA-Z-]*\d+[\w-]{3,}\w+\b/
p re.match?(str)'
true
$ RBENV_VERSION=3.3.0 ruby -e 'str = "------------abcdefg------------#3895912"
re = /\b\w*[a-zA-Z-]*\d+[\w-]{3,}\w+\b/
p re.match?(str)'
false
$ RBENV_VERSION=3.3.1 ruby -e 'str = "------------abcdefg------------#3895912"
re = /\b\w*[a-zA-Z-]*\d+[\w-]{3,}\w+\b/
p re.match?(str)'
true
Actions
Like0
Like0Like0