文件中含有多个此类字符串,字符串的特征是以http://news.abc.com.cn开头,以htm结尾。
我想通过   String regx = "^http://news.abc.com.cn[].htm$";去定义。但是在htm和cn之间无法确定含有多少个字符,之间的字符也有可能是数字、字母和.或_。如何写正则表达式呢?因为要遍历文件把这种特征的字符串挑出来,希望大家帮忙啊~~

解决方案 »

  1.   

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

  2.   

    up 有了.*还加?有点多余了吧
    将点换成[^http]是不是好点
      

  3.   

    要看源字符串的构成了,换成
    String regx = "http://news\\.abc\\.com\\.cn.*\\.htm";
    这样的贪婪模式在源字符串很长时会效率很低没有[^http]这种写法,这样写表示除“p”、“t”、“h”这几个字符之外的任意字符
    如果一定要写成贪婪模式,可以这样
    String regx = "http://news\\.abc\\.com\\.cn((?!\\.htm).)*\\.htm";