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