我需要从隐藏的HTML字段中提取一个值,有点想出来但我现在卡住了。
我的正则表达式如下:
<input type="hidden" name="form_id" value=".*"
但是这会从HTML中提取整个字符串。
字符串如下:
<input type="hidden" name="form_id" value="123"/>
我需要从字符串中提取“值”,它总是在变化,但“名称”始终是相同的。有没有办法在不做另一个表达的情况下提取它?我感谢任何帮助。
答案 0 :(得分:3)
(?<=<[^<>]+?name="form_id"[^<>]+value=")(.*)(?=")
答案 1 :(得分:1)
<[^>]*hidden[^>]*value="(.*)"[^>]*>
然后阅读第一个捕获组(Delphi instructions)。尽管它确实假设“隐藏”和“价值”的位置顺序,但这仍然保持尽可能合理的通用。
为了在不考虑订单的情况下找到价值,你可以使用一个稍微清洁的前瞻,如建议的那样:
^(?=.*name="form_id").*value="([^"]*)".*$
答案 2 :(得分:0)
<[a-zA-Z"= _^>]*value="(\d*)"/>
我已经测试了这个例子。
如果您只想提取输入标签,可以写:
<input[a-zA-Z"= _^>]*value="(\d*)"/>