如何用正则表达式匹配这个字符串呢?

vicepaladin 2010-06-09 08:56:23
文件中含有多个此类字符串,字符串的特征是以http://news.abc.com.cn开头,以htm结尾。


我想通过 String regx = "^http://news.abc.com.cn[].htm$";去定义。

但是在htm和cn之间无法确定含有多少个字符,之间的字符也有可能是数字、字母和.或_。

如何写正则表达式呢?

因为要遍历文件把这种特征的字符串挑出来,希望大家帮忙啊~~
...全文
53 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
-过客- 2010-06-09
  • 打赏
  • 举报
回复
要看源字符串的构成了,换成
String regx = "http://news\\.abc\\.com\\.cn.*\\.htm";
这样的贪婪模式在源字符串很长时会效率很低

没有[^http]这种写法,这样写表示除“p”、“t”、“h”这几个字符之外的任意字符
如果一定要写成贪婪模式,可以这样
String regx = "http://news\\.abc\\.com\\.cn((?!\\.htm).)*\\.htm";
一洽客服系统 2010-06-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 lxcnn 的回复:]

try...

Java code
String regx = "http://news\\.abc\\.com\\.cn.*?\\.htm";
[/Quote]
up 有了.*还加?有点多余了吧
将点换成[^http]是不是好点
-过客- 2010-06-09
  • 打赏
  • 举报
回复
try...

String regx = "http://news\\.abc\\.com\\.cn.*?\\.htm";

67,512

社区成员

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

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