簡體   English   中英

我們如何 1. 搜索具有特定結構的鏈接/腳本/img 以及 2. 使用單個正則表達式從匹配的字符串中獲取用戶 ID?

[英]How can we 1. search for a link/script/img with a particular structure and 2. pick up a user id from the matched string using a single regex?

假設一個 html 源代碼有這些標簽 link、img、src。

有些具有以下結構,

<link href="/users/id/111/myProfile">
...
<img src="/users/111/key_item">
...
<img src="/users/111/AAAAAAAAA.png">
...
<link href="/users/id/111/my_home">
...
<script src="/users/111/bbbb.js"

使用 2 個單獨的正則表達式,我可以找出用戶 ID,

regex   = '<(script|img|link).*(src|href)=[\'\"][/]users/(id/|)[\d]+/.*[\'\"]'
pattern = re.compile(regex, re.IGNORECASE)
link    = pattern.search(html_source_code).group(0)

user_pattern = re.compile('[\d.]+', re.IGNORECASE)
user         = user_pattern.search(link).gourp(0)

我想將這兩個正則表達式組合成一個。 這是一個用於獲取用戶 ID 的正則表達式。

我如何為此使用正則表達式?

我在這里看到了一個答案。 但無法從中找出解決方案。

首先,您需要在正則表達式中將字符/轉義為\\/ ,其次,您需要使用非捕獲組(?: stuff)來處理您不想被捕獲的內容,我將您的正則表達式修復為這樣,適用於您的示例:

<(?:script|img|link).*(?:src|href)=[\\'\\"][\\/]users\\/(?:id\\/|)([\\d]+)\\/.*[\\'\\"]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM