java正则表达式获取指定HTML标签的指定属性值

package com.mmq.regex;

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @use 获取指定HTML标签的指定属性的值
 * @FullName com.mmq.regex.MatchHtmlElementAttrValue.java </br>
 * @JDK 1.6.0 </br>
 * @Version 1.0 </br>
 */
public class MatchHtmlElementAttrValue {

    /**
     * 获取指定HTML标签的指定属性的值
     * @param source 要匹配的源文本
     * @param element 标签名称
     * @param attr 标签的属性名称
     * @return 属性值列表
     */
    public static List<String> match(String source, String element, String attr) {
        List<String> result = new ArrayList<String>();
        String reg = "<" + element + "[^<>]*?\\s" + attr + "=[‘\"]?(.*?)[‘\"]?\\s.*?>";
        Matcher m = Pattern.compile(reg).matcher(source);
        while (m.find()) {
            String r = m.group(1);
            result.add(r);
        }
        return result;
    }

    public static void main(String[] args) {
        String source = "<a title=中国体育报 href=‘‘>aaa</a><a title=‘北京日报‘ href=‘‘>bbb</a>";
        List<String> list = match(source, "a", "title");
        System.out.println(list);
    }
}

java正则表达式获取指定HTML标签的指定属性值

时间: 2024-10-11 16:27:04

java正则表达式获取指定HTML标签的指定属性值的相关文章

C#用正则表达式 获取网页源代码标签的属性或值

 原文地址:http://blog.csdn.net/lhfly/article/details/7684319 整理两个 在C#中,用正则表达式 获取网页源代码标签的属性或值的方法 : 1.获取标签中的值: <a href="www.csdn.net" class="main" >CSDN</a> 结果:CSDN /// <summary> /// 获取字符中指定标签的值 /// </summary> /// <

css基础 给一个标记的后代中 指定的标签 或者指定标签的指定class名称 添加样式 (后代多级的)

镇场诗: 清心感悟智慧语,不着世间名与利.学水处下纳百川,舍尽贡高我慢意. 学有小成返哺根,愿铸一良心博客.诚心于此写经验,愿见文者得启发.------------------------------------------ex1: code: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&

使用xpath提取页面所有a标签的href属性值

# -*- coding: utf-8 -*- #1.选取节点 #获取所有的div元素 //div #/代表获取根节点的直接子元素 #获取所有带有id属性的div //div[@id] #2.谓词(索引从1开始) #获取body下面的第一个/最后一个div元素/前两个 //body/div[1] //body/div[last()] //body/div[position<3] #获取具有class='price'属性的div标签 //div[@class='price'] #3.通配符 # *

java 正则表达式获取匹配和非获取匹配

1 package test1; 2 3 import java.util.regex.Matcher; 4 import java.util.regex.Pattern; 5 6 public class TestExp { 7 /** 8 * 9 * 在使用正则表达式的时候,我们经常会使用()把某个部分括起来,称为一个子模式. 子模式有Capturing和Non-Capturing两种情况. 10 * Capturing指获取匹配 : 11 * 是指系统会在幕后将所有的子模式匹配结果保存起来

Java 正则表达式获取两个字符中间的内容

利用 正则表达式 获取两个字符串中间的值 直接上代码吧,不是很难. public static void main(String[] args) { // 内容 String value = "fileNameCode-->_AD2467524284sd234.json"; // 匹配规则 String reg = "_(.*?)\\."; Pattern pattern = Pattern.compile(reg); // 内容 与 匹配规则 的测试 Mat

java 中利用反射机制获取和设置实体类的属性值

JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制. JAVA反射(放射)机制:"程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言".从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C#不是动态语言.但是JAVA有着一个非常突出的动态相关机制:Reflection,用在Java身上指的是我们可

在函数中处理html点击事件在标签中增加属性值来解决问题。

backhtml += "  <i onclick='dispshow("+item.newsID+")'>" + item.newTitle + "</i>"; //这行代码相当于“投资还款标签” //下面处理函数 function dispshow(newsID){    $.ajax({        type: "post",        url: "/Information/vie

java使用反射比较两个bean对象属性值是否相等

import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; import org.apache.log4j.Logger; public class DomainEquals { /** * 日志操作类 */ private static Logger logger = Logger.getLogger(DomainEquals.c

使用正则表达式提取一段标识语言( html 或 xml )代码段中指定标签的指定属性值(需考虑属性值对不规则的情况,如大小写不敏感,属性名值与等号间有 空格等)。此处假设需提取 test 标签的 attr 属性值,请自行构建包含该标签的串

<test attr="ddd"> <test attr/s*=/s*["|'](.*?)["|'].*?> <test attr="ddd"> <test attr\s*=\s*[" |'](.*?)[" |'].*?>