汗,不会正则

任第一 2012-06-04 10:23:47
1、Pattern p = Pattern.compile("(?<=http://)[^/]*(?=/)");
2、str.replaceAll("/[^/]+$","")
帮我解释解释这两个正则是什么意思啊.别贴一堆文章啊。还有别骂我啊。tks.
...全文
80 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
brightyq 2012-06-04
  • 打赏
  • 举报
回复
?<= 不是开头,是要匹配的字符串的前面。 ?=,因为没有"<" 所以就是后面了。这样理解吧。

顺便说下第二个
str.replaceAll("/[^/]+$","")
它是把一个字符串转换成空。这个字符串的规则是第一个字符是“/”,后面跟着不是“/”的任意字符(可能是一个或多个)并且出现在str的末尾。

任第一 2012-06-04
  • 打赏
  • 举报
回复
我知道是你写的。所以我才问的。呵呵。 ?<=是开头等于 (?=/) 这个怎么样没有<号啊?呵呵。不懂了。
brightyq 2012-06-04
  • 打赏
  • 举报
回复
呵呵,因为第一个是我昨天写的,我解释下第一个吧,第二个就不管了。

(?<=http://)[^/]*(?=/)

前面是"http://” ,后面是"/",中间是除了"/"之外的任意字符出现0次或多次。
目的就是找出这个中间包含的字符串
任第一 2012-06-04
  • 打赏
  • 举报
回复
一步一步解释啊 ,第一个<是什么意思? =等于号是什么意思? [括号是什么意思?

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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