我想提取符合模式的字符串
如果输入是这样的
https://www.facebook.com/tajmahal&sa=U&
输出
https://www.facebook.com/tajmahal
如果输入是这样的
https://www.facebook.com/tajmahal+taj+mahal+facebook&tbo=1&
输出
https://www.facebook.com/tajmahal
那就是我只想让字符串删除不必要的字符串。
Pattern p = Pattern.compile("<a href=\"https://www.facebook.com/[^>]*>([^<]+)</a>");
Matcher m = p.matcher(str);
String pageid = "";
while (m.find())
{
Pattern p1 = Pattern.compile("href=\"https://www.facebook.com/(.*?)\"");
Matcher m1 = p1.matcher(m.group(0));
String url = null;
if (m1.find())
{
url = m1.group(1);
答案 0 :(得分:1)
看起来像
https://www\.facebook\.com/[^&+]+
/
后你想要的字符不是&
或+
也许您对输入中的“分隔符”有其他要求,如果是这样,请将它们添加到[^&+]
要做到这一点,你可能想要研究“角色类”是如何工作的。
答案 1 :(得分:0)
试试这个:
String str = input.replaceAll("^([^&+]+).*", "$1");