由于没学过正则表达式,麻烦帮忙处理这个问题。
由于没学过正则表达式,麻烦帮忙处理这个问题。
我拿到String content为以下内容
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<BODY >
<FORM METHOD=POST ACTION="http://www.gd.aaa.local/pkmslogin.form" name="loginform">
<INPUT TYPE="HIDDEN" NAME="username" SIZE="15" value="000048718"/>
<INPUT TYPE="HIDDEN" NAME="password" SIZE="15" value="abcd">
<INPUT TYPE="HIDDEN" NAME="login-form-type" VALUE="pwd">
</FORM>
<script>
document.loginform.submit();
</script>
</BODY>
</html>
我如何在java中得到红色字体中的value,这个值不是固定的,可能是数字、字母、字母和数字、字母和数字或-的组合。非常感谢!!
[解决办法]
很遗憾,没有看到你标红了。
[解决办法]
没看见红色字体
如果想要获得页面传递的值
在java servlet 中使用 request.request.getParameter()
例如:想获得<INPUT TYPE="HIDDEN" NAME="username" SIZE="15" value="000048718"/>的值,使用request.getParameter("username") 返回值是一个字符串,根据你的应用需要在把字符串转换成需要的类型
[解决办法]
package test;import java.util.regex.Matcher;import java.util.regex.Pattern;public class RegExDemo { public static void main(String[] args) { String regex = "<INPUT TYPE=\"(\\w+)\" NAME=\"(\\w+)\" SIZE=\"(\\d+)\" value=\"([a-zA-Z\\d-]+)\"[/]{0,1}>"; String text = "<html>\n" + " <head>\n" + " <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n" + "\n" + " </head>\n" + "<BODY >\n" + "<FORM METHOD=POST ACTION=\"http://www.gd.aaa.local/pkmslogin.form\" name=\"loginform\">\n" + "<INPUT TYPE=\"HIDDEN\" NAME=\"username\" SIZE=\"15\" value=\"000048718\">\n" + "<INPUT TYPE=\"HIDDEN\" NAME=\"password\" SIZE=\"15\" value=\"abcd\"/>\n" + "<INPUT TYPE=\"HIDDEN\" NAME=\"login-form-type\" VALUE=\"pwd\">\n" + "</FORM>\n" + "\n" + "<script>\n" + " document.loginform.submit(); \n" + "</script>\n" + "\n" + "</BODY>\n" + "</html>"; Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(text); while (matcher.find()) { System.out.println(matcher.group(4)); } }}