请问这是正则的BUG么【如何匹配每一行数据中最后一个数值中的问题】
本帖最后由 tryhi 于 2011-9-16 20:45 编辑14311.83 7822.88 5766.21
4812.6 5205.2 5577.24
4809 4448.39 4400如何匹配出5766.21、5577.24、4400
为什么(?m)[.\d]+$匹配失败
但为什么(?m)^[.\d]+却匹配成功
最终用了大绯狼的\s+([.\d]+)?(?:[\r\n]+|$)来替换 本帖最后由 afan 于 2011-9-16 21:50 编辑
用了(?m)后 $ 是行尾,前面是 [.\d]+ 代表点或数字,但没有匹配回车符,所以在有回车符的1、2行没有匹配,而第3行末没有回车,所以可以匹配到4400。
改为(?m)([.\d]+)\v?$或(?m)(\S+)\v?$ \S+(?=\v|$) 原来行尾是回车符啊 正则神人出现啦!哈哈! (\S+)\s
页:
[1]