我正在尝试编写正确的正则表达式来搜索 html 中的值,但遇到一些问题。
有一段html:
<div class="inner">
<div class="title">Processing 3-D Secure Transaction</div>
<form autocomplete="off" name="PAResForm" id="PAResForm" action="https://www.alfaportal.ru/" method="POST">
<input name="MD" type="hidden" value="4326381105C3B67B2823E71FD235FFD2"><input value="eJzVWFmvo0iy/iulnkerm9UYt1xdQtJ2pkQdOVw5AW2qGv+is66Q
qrz9LBZ3mCe7mJzYARdloC1dJ/Lk+nQ7KBxxdgtIEgy/Tp/I93MZ5NtZzfdTnPdj5vfz7tex6I/n
4P8DRkGf4Q==" name="PaRes" type="hidden">
我正在尝试搜索字符串
<input name="MD" type="hidden" value="4326381105C3B67B2823E71FD235FFD2">
并获取值(value)
问题是值和名称可以互相替换 例如
<input value="4326381105C3B67B2823E71FD235FFD2" type="hidden" name="MD">
我写了正则表达式模式:
<input.*name=\"MD\"|value=\"([^<>]*?)\"[^<>]*value=\"([^<>]*?)\"|name=\"MD\".*?>
它适用于一些在线正则表达式服务,但不适用于真正的java。
请帮助正确修改。
我还编写了简单的命令行工具来测试它。 http://pastebin.com/Pzynqrn8
最佳答案
我想尝试这样的事情:
<input\s*?(value=['"].*?['"]\s*)|(type=['"].*?["']\s*)|(name=['"].*?['"]\s*)\>
关于java - html 中搜索的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19489338/