String regex1 ="[\n\r]+"; regex2 ="[\\n\\r]+"; 正则运行结果一致!为何?

无明有心 2014-11-28 07:52:39
正则匹配的时候,发现两者一致,我知道 \n在 JAVA代码和正则中表示相同转义。
但两者运行的时候有什么区别或者效率计算的差异?
...全文
196 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
快乐的2 2014-11-28
  • 打赏
  • 举报
回复
第一个语句被当做[abc]这样的方式处理的, 第二个语句是正则内部将\n\r翻译成abc处理的. 至于效率是一样的.
无明有心 2014-11-28
  • 打赏
  • 举报
回复
我自己的理解是:\\r 被java识别为 “\r"字串,这个字串交给正则内核进行再次转义 \r 被java 识别为\x0d编码的字符,该字符交给正则,正则按照编码的字符值直接匹配?(这一块不是很清楚)

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧