如何从以下字符串中提取/path/index.html
url("/path/index.html")
url(/path/index.html)
我使用以下正则表达式,但不起作用。
Pattern.compile("\b(href=|url\()(["'])(([^/]+://)([^/<>]+))?([^"'>]*)(["']|\))", Pattern.CASE_INSENSITIVE | Pattern.CANON_EQ);
就像上面的一些人已经说过的那样,最好使用内置的 URI 帮助程序类。但是,如果您确实需要为此使用正则表达式(并且您提供的字符串是所有可用的情况(,则应该为您执行此操作:
/url("?(.*?)"?)/
当您在 java 中将模式作为字符串传递时,它应该看起来像这样:
"url\("?(.*?)"?\)"
然后,您可以在匹配的组中找到要查找的字符串。
这将满足您的要求。
String url = "https://stackoverflow.com/questions/45545336/how-extract-path-from-string-using-regex";
String[] pieces = url.replaceFirst("://", "/").split("/");