这个正则的问题是不是 bug? ubuntu 11.10 模式串 /\A?\d+\Z/ 在 ruby1.8 报错 在 ruby-1.9.3-p194 没问题
/\A*?*\d+\Z/
问号前面没有值。
@zhangjinzhu 对,故意写成这样的,但是 ruby-1.9.3-p194 可以这么用,不报错。所以想知道这种情况算不算 bug。
即使调用没出错,写这种正则也没意义啊。。。
可能是新的正则引擎没有处理这种情况吧。
@zhangjinzhu 又在混论坛?
@zhangjinzhu 无意间的发现。谢谢。
1.9 换了正则引擎,所以跟 1.8 表现不一样。<<松本行弘的程序世界>>中讲到 1.9 换成了名字叫做"鬼车"的正则引擎。
想破了脑袋,也没想出来 /\A?/ 到底有什么意义??
/\A?/
#8 楼 @zw963 我感觉好像是 对于abc def,\A能匹配行首以及 d 前面的那个位置,^只匹配行首。
abc def
\A
^
#9 楼 @bhuztez
现在说的是:/\A?/的意义 (多个那个问号), 不是/\A/ 和 /^/的差别。这两个差别好大了。前者是匹配多行文本字符串的第一行, 在不同的场景下,各有各的用途。
/\A/
/^/
匹配多行文本字符串的第一行
@zw963 也就是说,这个正则是有意义的?所以 ruby 不报错。
#11 楼 @test026 没有任何意义!
@zw963 好吧,谢谢