java - 过滤器列表 : Begin by. .. Android Studio

标签 java android regex list filter

我想过滤我的列表以便仅获取 href 的 URL。 在我的列表中,我们可以有多个对象,因此我想创建另一个列表,仅包含 href 的 URL。

这是从我的列表返回的示例:

[<a rel="prettyPhoto[gallery-113]" href='http://www.bundoransurfco.com/wp-content/uploads/2014/11/11149460_10152656389992000_7842452340110509403_n.jpg'>]

我想获得:http://www.bundoransurfco.com/wp-content/uploads/2014/11/11149460_10152656389992000_7842452340110509403_n.jpg

因此,也许可以创建类似谓词或正则表达式的内容:以 "href" 开头,并创建一个循环,以便在找到匹配项时添加新列表?

干杯!...

我的新代码:

Pattern pattern = Pattern.compile("<a rel=\"prettyPhoto\\[gallery-113\\]\"[^>]*>");
Matcher matcher = pattern.matcher(contentString);
List<String> urlWithRel=new ArrayList<String>();
String lastString;
while(matcher.find()) {
    urlWithRel.add(matcher.group());
    lastString = urlWithRel.toString();
    Pattern lastPattern = Pattern.compile("(?<=href=).*(?=>)");
    Matcher lastMatcher = lastPattern.matcher(lastString);
    List<String> imagesUrl=new ArrayList<String>();
    while(lastMatcher.find()) {
        imagesUrl.add(lastMatcher.group());
    }
    Log.i(TAG, "dernier : "+ imagesUrl);
}

最佳答案

您可以使用正则表达式进行分组:

'href=(.*)>'

Demo

或者使用积极的环视:

'(?<=href=).*(?=>)'

Demo

关于java - 过滤器列表 : Begin by. .. Android Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29624171/

相关文章:

java - Swagger 415 不支持的媒体类型 : application/json instead of text/plain in POST request

android - 使用带有 Gradle 的 Android API 的 Java 模块

regex - 名字和姓氏的正则表达式

java - 解析Json并构造数组

java - IntelliJ GUI 表单未出现

android - 是否可以从命令行使用 Android Studio 的反编译器?

python - 如何从 Python 中的原始输入中提取某些数字?

Java正则表达式: avoiding logical operator

Java Swing JMenu 不断消失

php - PHP 中的 json_encode 没有返回任何结果