Java:匹配所有不以.htm结尾的字符串;
我正在使用正则表达式解析Java中的HTML文件,我想知道如何匹配不是以Java:匹配所有不以.htm结尾的字符串;,java,html,regex,string-parsing,Java,Html,Regex,String Parsing,我正在使用正则表达式解析Java中的HTML文件,我想知道如何匹配不是以.htm或.HTML结尾的所有href=”“元素,如果匹配,则将引号之间的内容捕获到一个组中 到目前为止,我已经尝试了以下几点: href\s*[=]\s*“(.+?)(?![.]htm[l]?)” href\s*[=]\s*”(.*?(![.]htm[l]?)” href\s*[=]\s*“(?![.]htm[l]?)” 我知道,对于前两个,引号之间的整个字符串被捕获到第一个组中,包括.htm(l)如果它存在的话 有人知道
.htm
或.HTML
结尾的所有href=”“元素,如果匹配,则将引号之间的内容捕获到一个组中
到目前为止,我已经尝试了以下几点:
href\s*[=]\s*“(.+?)(?![.]htm[l]?)”
href\s*[=]\s*”(.*?(![.]htm[l]?)”
href\s*[=]\s*“(?![.]htm[l]?)”
我知道,对于前两个,引号之间的整个字符串被捕获到第一个组中,包括.htm
(l
)如果它存在的话
有人知道如何避免这种情况发生吗?作为一个附带的回答,在处理html时,它是一个非常好的API
使用jsoup:
Document doc = Jsoup.parse(html);
for(Element link : doc.select("a")) {
String linkHref = link.attr("href");
if(linkHref.endsWith(".htm") || linkHref.endsWith(".html")) {
// do something
}
}
作为附带的回答,在处理html时,它是一个非常好的API
使用jsoup:
Document doc = Jsoup.parse(html);
for(Element link : doc.select("a")) {
String linkHref = link.attr("href");
if(linkHref.endsWith(".htm") || linkHref.endsWith(".html")) {
// do something
}
}
作为附带的回答,在处理html时,它是一个非常好的API
使用jsoup:
Document doc = Jsoup.parse(html);
for(Element link : doc.select("a")) {
String linkHref = link.attr("href");
if(linkHref.endsWith(".htm") || linkHref.endsWith(".html")) {
// do something
}
}
作为附带的回答,在处理html时,它是一个非常好的API
使用jsoup:
Document doc = Jsoup.parse(html);
for(Element link : doc.select("a")) {
String linkHref = link.attr("href");
if(linkHref.endsWith(".htm") || linkHref.endsWith(".html")) {
// do something
}
}
试试这个*\(?!(htm | html)$)
任意数字中的任意字符。*后跟一个点。后面不跟htm,htmt(?)试试这个*\(?!(htm)$)
任意数字中的任意字符。*后跟一个点。后面不跟htm,htmt(?)试试这个*\(?!(htm)$)
任意数字中的任意字符。*后跟一个点。后面不跟htm,htmt(?)试试这个*\(?!(htm)$)
任意数字中的任意字符。*后跟一个点。后面不跟htm,htmt(?)您只需重新排列表达式,并在捕获之前将负片向前移动:
href\s*[=]\s*"(?!.+?[.]htm[l]?")(.+?)"
是一个演示。您只需重新排列表达式,并在捕获之前将负片向前移动:
href\s*[=]\s*"(?!.+?[.]htm[l]?")(.+?)"
是一个演示。您只需重新排列表达式,并在捕获之前将负片向前移动:
href\s*[=]\s*"(?!.+?[.]htm[l]?")(.+?)"
是一个演示。您只需重新排列表达式,并在捕获之前将负片向前移动:
href\s*[=]\s*"(?!.+?[.]htm[l]?")(.+?)"
是一个演示。是否要捕获htm和html文件?是否要捕获htm和html文件?是否要捕获htm和html文件?是否要捕获htm和html文件?很遗憾,这是一个学校作业,我不允许使用任何此类库!:-(我明白。正如我所说,这只是一个旁白:)祝你的家庭作业好运。不幸的是,这是一个学校作业,我不允许使用任何这样的图书馆!:-(我明白。正如我所说,这只是一个旁白:)祝你的家庭作业好运。不幸的是,这是一个学校作业,我不允许使用任何这样的图书馆!:-(我明白。正如我所说,这只是一个旁白:)祝你的家庭作业好运。不幸的是,这是一个学校作业,我不允许使用任何这样的图书馆!:-(我明白。正如我所说,这只是一个附带的回答:)祝你的家庭作业好运。