<input type="submit" name="newdownload" onCommand="cmd='asp_cs' cmdtype='http_quick_down' msgtype='yesno' msg=购买吗?' url='http://163.com/portal/web/completeOrder.do'"  value="buy" skin="1"/>
                  String buyurl=null;
Pattern p=Pattern.compile("正则表达式",Pattern.CASE_INSENSITIVE);
Matcher m=p.matcher(content);
while(m.find())
{
int start = m.start();   
int end = m.end();   
buyurl = content.substring(start, end);  
}
return buyurl;
我想要分别匹配出红色部分!
不用一下子匹配出来
分2次就可以
主要是想问正则表达式怎么写的,正则菜鸟求助!!
结果为:购买吗?http://163.com/portal/web/completeOrder.do

解决方案 »

  1.   

    1、/(^[购买吗][\?]$)/
    下面这个是匹配URL的正则:
    2、([\w-]+\.)+[\w-]+.([^a-z])(/[\w- ./?%&=]*)?|[a-zA-Z0-9\-\.][\w-]+.([^a-z])(/[\w- ./?%&=]*)? 建议:找个正则方面的参考文档看看,基本上就可以了。
      

  2.   

    简单的处理就这样:    public static void main(String[] args) {
            String s = "<input type=\"submit\" name=\"newdownload\" onCommand=\"cmd='asp_cs' cmdtype='http_quick_down' msgtype='yesno' msg='购买吗?' url='http://163.com/portal/web/completeOrder.do'\" value=\"buy\" skin=\"1\"/>";
            System.out.println(s.replaceAll(".*\\s*msg\\s*=\\s*'(.*?)'.*", "$1"));
            System.out.println(s.replaceAll(".*\\s*url\\s*=\\s*'(.*?)'.*", "$1"));
        }
    ps:你给的msg属性少了一个单引号