【发布时间】:2016-02-19 00:45:13
【问题描述】:
谁能帮帮我? 我正在研究在 java 中链接到 url 的验证。我创建了一个正则表达式(我不熟悉)来验证链接,但是我正在努力解决它。
代码如下:
public class TestRegEx {
public static void main(final String[] args) {
// List of valid URLs
List<String> validValues = new ArrayList<>();
validValues.add("https://www.linkedin.com/sometext");
validValues
.add("https://uk.linkedin.com/in/wiliam-ferraciolli-a9a29795");
validValues.add("https://it.linkedin.com/hp/");
validValues.add("https://cy.linkedin.com/hp/");
validValues
.add("https://www.linkedin.com/profile/view?id=AAIAABQnNlYBIx8EtS5T1RTUbxHQt5Ww&trk=nav_responsive_tab_profile");
// List on invalid URLs
List<String> invalidValues = new ArrayList<>();
invalidValues.add("http://www.linkedin.com/sometext");
invalidValues.add("http://stackoverflow.com/questions/ask");
invalidValues.add("google.com");
invalidValues.add("http://uk.linkedin.com/in/someDodgeAddress");
invalidValues.add("http://dodge.linkedin.com/in/someDodgeAddress");
// Pattern
String regex = "(https://)(.+)(www.)(.+)$";
Pattern pattern = Pattern.compile(regex);
for (String s : validValues) {
Matcher matcher = pattern.matcher(s);
System.out.println(s + " // " + matcher);
}
}
}
谁能帮我创建一个正则表达式来验证以下内容 前缀:“https://” 可选前缀:“英国”。 (可以是什么也可以是另一个国家) 中:“linkedin.com/” 后缀:“最多 200 个字符的任何字符”
问候
【问题讨论】:
-
为什么你认为无效的无效? (除了
google.com,我想)。还有,为什么"https://www.linkedin.com/sometext"既有效又无效? -
为什么
https://www.linkedin.com/sometext既有效又在有效? -
对不起,我忘了提。我正在尝试验证有效的 LinkedIn URL。谢谢
-
在无效的“linkedin.com/sometext”上,它意味着没有 HTTPS 和 HTTP。谢谢
标签: java regex url-pattern