家伙,我想提取SRC =“”从这段文字的
<div style="margin-bottom:20px;"><img width="750" height="369" src="https://urdu.arynews.tv/wp-content/uploads/2018/09/HAMZASHEHBAZ.jpg" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Hamza Shehbaz" srcset="https://urdu.arynews.tv/wp-content/uploads/2018/09/HAMZASHEHBAZ.jpg 750w, https://urdu.arynews.tv/wp-content/uploads/2018/09/HAMZASHEHBAZ-300x148.jpg 300w" sizes="(max-width: 750px) 100vw, 750px" /></div> <p>لاہور: پنجاب اسمبلی میں اپوزیشن لیڈر حمزہ شہبازشریف آج لندن کے لیے اڑان بھریں گے، وہ براستہ دوحا لندن جائیں گے۔ تفصیلات کے مطابق مسلم لیگ ن کے رہنما حمزہ شہبازشریف آج قطرایئرویز کی پرواز 629 کے ذریعہ لندن روانہ ہوں گے ۔ انہوں نے لاہور ہائی کورٹ کو بیرون ملک روانگی سے متعلق آگاہ […]</p> <p>The post <a rel="nofollow" href="https://urdu.arynews.tv/hamza-shehbaz-will-depart-for-london-today/">حمزہ شہباز آج لندن روانہ ہوں گے</a> appeared first on <a rel="nofollow" href="https://urdu.arynews.tv">ARYNews.tv | Urdu - Har Lamha Bakhabar</a>.</p>
你能告诉我,我该怎么办
您可以使用正则表达式来提取值,但因为它看起来像HTML,你应该使用一些HTML / XML解析器来提取价值。下面是一个简单的代码,将让你src属性的值,
String s = "<div style=\"margin-bottom:20px;\"><img width=\"750\" height=\"369\" src=\"https://urdu.arynews.tv/wp-content/uploads/2018/09/HAMZASHEHBAZ.jpg\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"Hamza Shehbaz\" srcset=\"https://urdu.arynews.tv/wp-content/uploads/2018/09/HAMZASHEHBAZ.jpg 750w, https://urdu.arynews.tv/wp-content/uploads/2018/09/HAMZASHEHBAZ-300x148.jpg 300w\" sizes=\"(max-width: 750px) 100vw, 750px\" /></div> <p>لاہور: پنجاب اسمبلی میں اپوزیشن لیڈر حمزہ شہبازشریف آج لندن کے لیے اڑان بھریں گے، وہ براستہ دوحا لندن جائیں گے۔ تفصیلات کے مطابق مسلم لیگ ن کے رہنما حمزہ شہبازشریف آج قطرایئرویز کی پرواز 629 کے ذریعہ لندن روانہ ہوں گے ۔ انہوں نے لاہور ہائی کورٹ کو بیرون ملک روانگی سے متعلق آگاہ […]</p> <p>The post <a rel=\"nofollow\" href=\"https://urdu.arynews.tv/hamza-shehbaz-will-depart-for-london-today/\">حمزہ شہباز آج لندن روانہ ہوں گے</a> appeared first on <a rel=\"nofollow\" href=\"https://urdu.arynews.tv\">ARYNews.tv | Urdu - Har Lamha Bakhabar</a>.</p>";
Pattern p = Pattern.compile("src=\"([^\"]+)");
Matcher m = p.matcher(s);
if(m.find()) {
System.out.println(m.group(1));
} else {
System.out.println("Couldn't find");
}
输出,
https://urdu.arynews.tv/wp-content/uploads/2018/09/HAMZASHEHBAZ.jpg
此解决方案使用它匹配src=\"([^\"]+)
字面上并捕获所有的数据,直到它遇到它停止捕获的数据双引号这个表达式src="
。
编辑:HTML解析器的解决方案
这里的另一个解决方案使用Jsoup
HTML / XML解析器有些人不喜欢正则表达式解析HTML,
String s = "<div style=\"margin-bottom:20px;\"><img width=\"750\" height=\"369\" src=\"https://urdu.arynews.tv/wp-content/uploads/2018/09/HAMZASHEHBAZ.jpg\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"Hamza Shehbaz\" srcset=\"https://urdu.arynews.tv/wp-content/uploads/2018/09/HAMZASHEHBAZ.jpg 750w, https://urdu.arynews.tv/wp-content/uploads/2018/09/HAMZASHEHBAZ-300x148.jpg 300w\" sizes=\"(max-width: 750px) 100vw, 750px\" /></div> <p>لاہور: پنجاب اسمبلی میں اپوزیشن لیڈر حمزہ شہبازشریف آج لندن کے لیے اڑان بھریں گے، وہ براستہ دوحا لندن جائیں گے۔ تفصیلات کے مطابق مسلم لیگ ن کے رہنما حمزہ شہبازشریف آج قطرایئرویز کی پرواز 629 کے ذریعہ لندن روانہ ہوں گے ۔ انہوں نے لاہور ہائی کورٹ کو بیرون ملک روانگی سے متعلق آگاہ […]</p> <p>The post <a rel=\"nofollow\" href=\"https://urdu.arynews.tv/hamza-shehbaz-will-depart-for-london-today/\">حمزہ شہباز آج لندن روانہ ہوں گے</a> appeared first on <a rel=\"nofollow\" href=\"https://urdu.arynews.tv\">ARYNews.tv | Urdu - Har Lamha Bakhabar</a>.</p>";
Document doc = Jsoup.parse(s);
for (Element element : doc.select("img")) {
System.out.println(element.attr("src"));
break;
}
打印,
https://urdu.arynews.tv/wp-content/uploads/2018/09/HAMZASHEHBAZ.jpg
确保有Jsoup库并按照进口你的代码,
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;