我看到正则表达式模式的长度有一个奇怪的任意限制,在一个30个字符的字符串后,有趣的事情开始发生.
简单的GHCI示例:
> import Text.Regex.Posix
> "abcdefghijklmnopqrstuvwxyz0123456789" =~ "abcdefghijklmnopqrstuvwxyz0123" :: String
"abcdefghijklmnopqrstuvwxyz0123"
> "abcdefghijklmnopqrstuvwxyz0123456789" =~ "abcdefghijklmnopqrstuvwxyz01234" :: String
""
Run Code Online (Sandbox Code Playgroud)
唯一的区别是4在最后一个模式的末尾添加了.这是一个有效的正则表达式,应该匹配,但它给了我一个空字符串.
如果我在模式中添加一些更有效的字符,它甚至更奇怪:
> "abcdefghijklmnopqrstuvwxyz0123456789" =~ "abcdefghijklmnopqrstuvwxyz01234567" :: String
"ab"
Run Code Online (Sandbox Code Playgroud)
它告诉我,只有ab在明显错误时才会匹配.
我的环境:
完全卸载并重新安装Stack和所有软件包都无法解决问题