java请问 怎么用正则获取字符串
java请教 如何用正则获取字符串
我有一串字符串,我想要获取其中的href="adkjfjadjfa" 这段字符串,这样的字符串,在整个字符串中可能还有好几个,怎么用正则把它们匹配出来?注意:href= 这后面可能是" 也可能是'
下面是我写的,只能匹配一段href="XXXXXXXX"; 并且只能获取双引号类型的
结果只匹配到一个:
------解决方案--------------------
这是自己已经做出来了?
------解决方案--------------------
问题解决了?
------解决方案--------------------
String regec= "(href=[\"\'].*?[\"\'])";
------解决方案--------------------
我有一串字符串,我想要获取其中的href="adkjfjadjfa" 这段字符串,这样的字符串,在整个字符串中可能还有好几个,怎么用正则把它们匹配出来?注意:href= 这后面可能是" 也可能是'
下面是我写的,只能匹配一段href="XXXXXXXX"; 并且只能获取双引号类型的
import java.util.regex.*;
public class Test {
public static void main(String[] args) {
String ptn = ".*href=(.*\")";
Pattern p = Pattern.compile(ptn, Pattern.DOTALL);
String s = "asdfadfaadf-href=\"1alkjdflkajdfjalkdfj1\"adfadfhref=\'1alkjdflkajdfjalkdfj1\'ad"; // \" 转义 ,表示"
Matcher m = p.matcher(s);
if (m.find()) {
System.out.println("href="+m.group(1));
} else {
System.out.println("not match");
}
}
}
结果只匹配到一个:
href="1alkjdflkajdfjalkdfj1"
------解决方案--------------------
这是自己已经做出来了?
------解决方案--------------------
问题解决了?
------解决方案--------------------
String regec= "(href=[\"\'].*?[\"\'])";
------解决方案--------------------
static String ptn = "href=[\"
------解决方案--------------------
\'](.+?)[\"
------解决方案--------------------
\']";
static Pattern p = Pattern.compile(ptn);
public static void find(String str){
Matcher m = p.matcher(str);
while (m.find()) {
System.out.println(m.group(1));
}
}