[EDITED] 我正在使用Java正则表达式,我不想匹配一些文件。
我正在尝试:
String regexp = "https?:://[[\\S]&&[^\"]]+(?!.*(.ico|.jpg|.css)"
我有一个包含许多网站链接的列表,链接是:* .html,* .asp,* .jpg,* gif。我想使用java正则表达式匹配除* .jpg,* gif,* ico。
之外的所有内容有人可以提出想法吗?
抱歉,我的英语不流利。 希望你能理解我。 感谢!!!
答案 0 :(得分:0)
以下是程序小程序的示例,该程序将解析网站的匹配链接,但不包括特定扩展名。
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexTest {
public static void main(String[] args) {
String regex = "(https?://[\\S^\"]+(?<!\\.ico|\\.jpg|\\.css))[\\s\"]";
String test_string = "http://www.regular- expressions.info/shorthand.html "
+ "http://www.regular-expressions.info/shorthand.html "
+ "http://www.regular-expressions.info/shorthand.css "
+ "http://www.regular-expressions.info/shorthand.ico "
+ "http://www.regular-expressions.info/shorthand.jpg "
+ "http://www.regular-expressions.info/shorthand.htm "
+ "http://www.regular-expressions.info/shorthand.jsp "
+ "http://www.regular-expressions.info/ ";
Pattern pattern = Pattern.compile(regex);
Matcher m = pattern.matcher(test_string);
while (m.find()) {
System.out.printf("Match: '%s'\n", m.group(1));
}
}
}
结果如下:
Match: 'http://www.regular-expressions.info/shorthand.html'
Match: 'http://www.regular-expressions.info/shorthand.html'
Match: 'http://www.regular-expressions.info/shorthand.htm'
Match: 'http://www.regular-expressions.info/shorthand.jsp'
Match: 'http://www.regular-expressions.info/'