Java 正则表达式提取URL:实战示例与代码解析
Java 正则表达式提取URL:实战示例与代码解析
您是否需要从复杂的URL中提取出基础域名部分?例如,从以下URL中提取出'https://www.mpa.gov.sg':
https://www.mpa.gov.sg/media-centre?page=1&year=All&type=63fc1321-c383-4bc1-8cda-a7718c8eb28c
您可以使用以下Java代码实现正则表达式来截取URL:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String url = 'https://www.mpa.gov.sg/media-centre?page=1&year=All&type=63fc1321-c383-4bc1-8cda-a7718c8eb28c';
String regex = '(https?://[a-zA-Z0-9.-]+).*';
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(url);
if (matcher.matches()) {
String extractedUrl = matcher.group(1);
System.out.println(extractedUrl);
}
}
}
这段代码使用正则表达式 '(https?://[a-zA-Z0-9.-]+).*' 来匹配URL,并使用 matcher.group(1) 提取匹配的部分。在这个例子中,提取到的URL为 https://www.mpa.gov.sg。
代码解析:
'(https?://[a-zA-Z0-9.-]+).*':该正则表达式匹配以'http://'或'https://'开头的URL,并提取出其中的域名部分,包括子域名。Pattern.compile(regex):将正则表达式编译成模式对象。Matcher matcher = pattern.matcher(url):将模式对象与目标URL进行匹配。matcher.matches():判断是否完全匹配。matcher.group(1):提取匹配到的第一个分组,也就是我们需要的基础域名。
通过以上步骤,您可以轻松使用Java正则表达式从URL中提取出基础域名。在实际应用中,您可以根据不同的需求调整正则表达式,以匹配更复杂的URL模式。
原文地址: https://www.cveoy.top/t/topic/o9Rk 著作权归作者所有。请勿转载和采集!