62,614
社区成员
发帖
与我相关
我的任务
分享
<html>
<head>
<title>Direct e-SCOTT</title>
<meta http-equiv="content-Type" content="text/html;charset=x-sjis">
</head><body>
<form method="POST" action="/DSCT1000">
<b><font size=3>INPUT FORM<p>
USERID<input type="text" name="userId" size=8 length=8 value="kkk">
PASSWORD<input type="text" name="passwd" size=8 length=8 value="000000">
</form>
</body>
</html>
public class Test
{
private static String str = "<html>\r\n" +
"<head>\r\n" +
"<title>Direct e-SCOTT</title>\r\n" +
"<meta http-equiv=\"content-Type\" content=\"text/html;charset=x-sjis\">\r\n" +
"</head><body>\r\n" +
"<form method=\"POST\" action=\"/DSCT1000\">\r\n" +
"<b><font size=3>INPUT FORM<p>\r\n" +
"USERID<input type=\"text\" name=\"userId\" size=8 length=8 value=\"kkk\">\r\n" +
"PASSWORD<input type=\"text\" name=\"passwd\" size=8 length=8 value=\"000000\">\r\n" +
"</form>\r\n" +
"</body>\r\n" +
"</html>\r\n";
public static final Pattern KEYPT = Pattern.compile("\\svalue=\"\\w*\"",
Pattern.UNICODE_CASE);
public static void main(String[] args) throws IOException
{
Matcher m = KEYPT.matcher(str);
while (m.find())
{
System.out.println(m.group());
}
}
}
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
String str = "<html>\n" +
"<head>\n" +
"<title>Direct e-SCOTT</title>\n" +
"<meta http-equiv=\"content-Type\" content=\"text/html;charset=x-sjis\">\n" +
"</head><body>\n" +
"<form method=\"POST\" action=\"/DSCT1000\">\n" +
"<b><font size=3>INPUT FORM<p>\n" +
"USERID <input type=\"text\" name=\"userId\" size=8 length=8 value=\"kkk1\">\n" +
"PASSWORD <input type=\"text\" name=\"passwd\" size=8 length=8 value=\"000001\">\n" +
"USERID <input type=\"text\" name='userId' size=8 length=8 value='kkk2'>\n" +
"PASSWORD <input type=\"text\" name='passwd' size=8 length=8 value='000002'>\n" +
"USERID <input type=\"text\" name=userId size=8 length=8 value=kkk3>\n" +
"PASSWORD <input type=\"text\" name=passwd size=8 length=8 value=000003>\n" +
"USERID <input type=\"text\" name=\"userId\" size=8 value=\"kkk21\" length=8>\n" +
"PASSWORD <input type=\"text\" name=\"passwd\" size=8 value=\"000021\" length=8>\n" +
"USERID <input type=\"text\" name='userId' size=8 value='kkk22' length=8>\n" +
"PASSWORD <input type=\"text\" name='passwd' size=8 value='000022' length=8>\n" +
"USERID <input type=\"text\" name=userId size=8 value=kkk23 length=8>\n" +
"PASSWORD <input type=\"text\" name=passwd size=8 value=000023 length=8>\n" +
" <input type=\"submit\" name=passwd size=8 value=\"提交\" length=8>\n" +
" <input type=\"reset\" name=passwd size=8 value=\"重置\" length=8>\n" +
"</form>\n" +
"</body>\n" +
"</html>";
// 如果仅需要 input type="text" 中的 value 的话使用这个
String regex = "<input[^>]+type\\s*=\\s*([\"']?)text\\1[^>]+value\\s*=\\s*([\"']?)([^\"'>\\s]+)\\2";
Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(str);
while(matcher.find()) {
System.out.println(matcher.group(3));
}
System.out.println("--------------------");
// 如果仅需要所有 input 中的 value 的话使用这个
String regex2 = "<input[^>]+value\\s*=\\s*([\"']?)([^\"'>\\s]+)\\1";
Pattern pattern2 = Pattern.compile(regex2, Pattern.CASE_INSENSITIVE);
Matcher matcher2 = pattern2.matcher(str);
while(matcher2.find()) {
System.out.println(matcher2.group(2));
}
}
}
// 过来抢分了:)
package test;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @author - yy
* @time - Dec 10, 2008 2:53:01 PM
*/
public class Test7 {
/**
* 将html中的所有value="xyz"或者value='xyz'中xyz提取出来,value=xyz的未完成
* @param html
* @return
*/
public String[] getValues(String html) {
final Pattern pattern = Pattern.compile("\\svalue=(['\"])(.*?)\\1", Pattern.MULTILINE);
Matcher m = pattern.matcher(html);
List<String> list = new ArrayList<String>();
while (m.find()) {
list.add(m.group(2));
}
return list.toArray(new String[0]);
}
public static void main(String[] args) throws IOException {
String str = "<html>\r\n<head>\r\n<title>Direct e-SCOTT</title>\r\n"
+ "<meta http-equiv=\"content-Type\" content=\"text/html;charset=x-sjis\">\r\n"
+ "</head><body>\r\n<form method=\"POST\" action=\"/DSCT1000\">\r\n"
+ "<b><font size=3>INPUT FORM<p>\r\n"
+ "USERID<input type=\"text\" name=\"userId\" size=8 length=8 value=\"kkk\">\r\n"
+ "PASSWORD<input type=\"text\" name=\"passwd\" size=8 length=8 value=\"000000\">\r\n"
+ "</form>\r\n</body>\r\n</html>\r\n";
String[] rs = new Test7().getValues(str);
System.out.println(Arrays.deepToString(rs));
// 输出[kkk, 000000]
}
}