我正在尝试提取文本文件中的部分网址。
例如:
/p/gnomecatalog/bugs/search/?q=status%3Aclosed-accepted+or+status%3Awont-fix+or+status%3Aclosed" class="search_bin"><span>Closed Tickets</span></a>
我想只提取
/p/gnomecatalog/bugs/search/?q=status%3Aclosed-accepted+or+status%3Awont-fix+or+status%3Aclosed
我如何通过使用常规表达来做到这一点。我尝试使用正则表达式
"/p/*./bugs/*."
但它不起作用。
答案 0 :(得分:0)
试试这个:
"\/p.*\/bugs[^"]*"
表示:“/ p”
然后:所有的角色,
然后:“/ bugs”,
然后:除"
答案 1 :(得分:0)
您可以使用:
(\/p\/.*\/bugs\/.*?(?="))
Java代码:
String REGEX = "(\\/p\\/.*\\/bugs\\/.*?(?=\"))";
Pattern p = Pattern.compile(REGEX);
Matcher m = p.matcher(line);
while (m.find()) {
String matched = m.group();
System.out.println("Mached : "+ matched);
}
<强>输出强>
Mached : /p/gnomecatalog/bugs/search/?q=status%3Aclosed-accepted+or+status%3Awont-fix+or+status%3Aclosed
<强> DEMO 强>
<强>说明:强>
答案 2 :(得分:0)
这是另一种方式:
(?i)/p/[a-z/]+bugs/[^ "]+
开头的(?i)使正则表达式不区分大小写,因此您不必担心这一点。然后在错误/它将继续,直到它到达空格或“。