gpt4 book ai didi

特殊 URL 的 Java 正则表达式

转载 作者:行者123 更新时间:2023-12-02 08:27:53 34 4
gpt4 key购买 nike

在 Java 中,我尝试编写一个正则表达式来匹配特殊类型的 HTTP URL:

http://<any-string-of-1-or-more-chars>/#<any-string-of-0-or-more-chars>

所以字符串有 4 段:

  1. 字符串文字:“http://”;那么
  2. 任意 1 个以上字符的字符串;那么
  3. 字符串文字:“/#”;那么
  4. 任意 0+ 个字符的字符串

“传递”字符串的示例:

等等。我最好的尝试是:

String regex = "http://*/#*";

但是当我尝试时:

String test = "http://example.com/#";
String regex = "http://*/#*";
if(test.matches(regex))
System.out.println("I match!");
else
System.err.println("I don't match!");

我哪里出错了,我的正则表达式应该是什么(以及为什么)?

最佳答案

在正则表达式中,如果要匹配 1 个或多个任意字符,请使用 .+,如果要匹配 0 个或多个字符,请使用 .*

最好阅读一个好的正则表达式教程,例如:http://regular-expressions.info

您可以使用此正则表达式:

String regex = "^https?://.+?/#.*$";

关于特殊 URL 的 Java 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20910832/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com