由于没学过正则表达式,麻烦帮忙处理这个问题。

luckberry 2012-09-11 08:49:28
由于没学过正则表达式,麻烦帮忙处理这个问题。

我拿到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,这个值不是固定的,可能是数字、字母、字母和数字、字母和数字或-的组合。非常感谢!!
...全文
98 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
luckberry 2012-09-12
  • 打赏
  • 举报
回复
[Quote=引用楼主 的回复:]
由于没学过正则表达式,麻烦帮忙处理这个问题。

我拿到String content为以下内容

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

</head>
<BODY >
<FORM METHOD=POST ACTION="……
[/Quote]

我想获得这个的value000048718
<INPUT TYPE="HIDDEN" NAME="username" SIZE="15" value="000048718"/>
Inhibitory 2012-09-12
  • 打赏
  • 举报
回复
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));
}
}
}


输出
000048718
abcd
龙飞tgbmlp 2012-09-11
  • 打赏
  • 举报
回复
没看见红色字体
如果想要获得页面传递的值
在java servlet 中使用 request.request.getParameter()
例如:想获得<INPUT TYPE="HIDDEN" NAME="username" SIZE="15" value="000048718"/>的值,使用request.getParameter("username") 返回值是一个字符串,根据你的应用需要在把字符串转换成需要的类型
MiceRice 2012-09-11
  • 打赏
  • 举报
回复
很遗憾,没有看到你标红了。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧