を使用してページからいくつかname
のvalues
タグを解析しています。しかし、私は必要なすべての値を返していません。以下はhtmlページのスニペットです-HTML
Regex
regex
<input style="display: none;" name="hiddenAction" value="myval" type="hidden">
<input name="ml_uiss" id="ml_uiss" value="aba972kd82lw" type="hidden">
<input style="display: none;" name="Key" id="Key" value="56n8f48jfn98cwnc38c398nc83nx2b9c32n.an24" type="text">
<input name="AvKbkGPQr" class="iswickEnabled input" maxlength="10" id="AvKbkGPQr" onkeyup="javascript:checkIt(this);" onkeydown="javascript:checkIt(this);" onchange="javascript:checkIt(this);" value="1234567890" onfocus="this.value='';" type="text"> <input name="PjbkAPker" class="iswickEnabled input" maxlength="10" id="PjbkAPker" onkeyup="javascript:checkIt(this);" onkeydown="javascript:checkIt(this);" onchange="javascript:checkIt(this);" type="text">
<input id="timeCheck" name="timeCheck" value="23:38:20" type="hidden">
<input name="isDone" id="isDone" value="prq" type="hidden">
以下はregex
-を含むコードです
String reg = "<input.*name=['\"](\\w+)['\"].*\\svalue=['\"]([\\w:.\\s]+)['\"].*(<input name=\"(\\w+)\")?";
Pattern p = Pattern.compile(reg);
Matcher m = p.matcher(myString);
while (m.find()) {
String match1 = m.group(1);
String match2 = m.group(2);
String match3 = m.group(3);
String match4 = m.group(4);
System.out.println("[" + match1 + "][" + match2 + "][" + match3+ "][" + match4 + "]");
}
出力は以下です-
[hiddenAction][myval][null][null]
[ml_uiss][aba972kd82lw][null][null]
[Key][56n8f48jfn98cwnc38c398nc83nx2b9c32n.an24][null][null]
[AvKbkGPQr][1234567890][null][null]
[timeCheck][23:38:20][null][null]
[isDone][prq][null][null]
HTML
コンテンツの4行目には、2つのinput name
タグがあります。そのため、これregex
は2 番目のinput name
PjbkAPkerを選択していません(これは出力にありません)。残りは問題ありません。
私も2番目を取得したいですinput name
。