![](/img/trans.png)
[英]How do I deal with special characters like \^$.?*|+()[{ in my regex?
[英]How do I deal with this regex issue?
我需要從一個隱藏的HTML字段中提取一個值,已經弄清楚了一點,但是我目前陷入困境。
我的正則表達式看起來像:
<input type="hidden" name="form_id" value=".*"
但這會從HTML中提取整個字符串。
該字符串如下所示:
<input type="hidden" name="form_id" value="123"/>
我需要從字符串中提取“值”,它總是在變化,但是“名稱”始終是相同的。 有沒有一種方法可以提取它而不做另一個表達式? 感謝您的幫助。
(?<=<[^<>]+?name="form_id"[^<>]+value=")(.*)(?=")
我只是把這些放在一起。 基本上,您想否定請求中的任何結尾>。 因此,您可能想做這種性質的事情:
<[^>]*hidden[^>]*value="(.*)"[^>]*>
然后閱讀第一個捕獲組( Delphi指令 )。 盡管它確實假定“隱藏”和“值”上的位置順序,但仍使其盡可能合理地通用。
為了在不考慮訂單的情況下找到價值,您可以按照建議使用稍微干凈的前瞻:
^(?=.*name="form_id").*value="([^"]*)".*$
<[a-zA-Z"= _^>]*value="(\\d*)"/>
我已經為您的示例進行了測試。
如果只想提取輸入標簽,則可以編寫:
<input[a-zA-Z"= _^>]*value="(\d*)"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.