href 这几个字要不要? 如果只是要取出" "中的字符串的话,可以这样:
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 = "href=\"1alkjdflkajdfjalkdfj1\""; // \" 转义 ,表示"
Matcher m = p.matcher(s);
if (m.find()) {
System.out.println(m.group(1));
} else {
System.out.println("not match");
}
}
}
追问要
而且单双引号的都要
例如:href="xxxxxx"或href='xxxxxxx'
追答那你就在前面加上href这几个字符
追问可能存在多个的喔,循环后,都唔对
追答想明白了,可以用正则循环匹配,以下是代码,调试过了:
import java.util.regex.*;
public class Demo {
static String ptn = "(href=[\"\']*)([^\"\']*[\"\'])";
static Pattern p = Pattern.compile(ptn);
public static void main(String[] args) {
String s = "adfadfa-href=\"1alkjdflkajdfjalkdfj1\"adsffaadfadfa-href=\'1alkjdflkajdfjalkdfj1\'"; // \" 转义 ,表示"
find(s);
}
public static void find(String str){
Matcher m = p.matcher(str);
while (m.find()) {
System.out.println(m.group(0));
}
}
}