可能重复:
正则表达式匹配 URL
是否有正则表达式可以从字符串中返回 http 值?
所以
sdfads saf as fa http://www.google.com some more text
变成
http://www.google.com
可能重复:
正则表达式匹配 URL
是否有正则表达式可以从字符串中返回 http 值?
所以
sdfads saf as fa http://www.google.com some more text
变成
http://www.google.com
一个非常简单的方法:
https?://\S+
如果您必须检查有效的网址,则正则表达式要复杂得多
这是一个简单且有效的示例,其中包含检索搜索到的模式并使用它来替换整个输入:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Regextest {
static String[] matchThese = new String[] {
"sdfads saf as fa http://www.google.com some more text",
"sdfads fa http://www.dupa.com some more text",
"should not match http://" };
public static void main(String[] args) {
String regex = "(https?://|www)\\S+";
Pattern p = Pattern.compile(regex);
System.out.println("Those that match are replaced:");
for (String input : matchThese) {
if (p.matcher(input).find()) {
Matcher matcher = p.matcher(input);
matcher.find();
// Retrieve matching string
String match = matcher.group();
String output = input.replace(input, match);
System.out.println(output);
}
}
}
}