這裏是我的模式(Live example):如何才能停止匹配,直到第一個特定字符?
(?:"|")id(?:"|"):(?:"|")(.{0,200}?)(?:"|").{0,200}?(?:"|")urn:li:fs_miniCompany:65514(?:"|")
正如你所看到的,它匹配下面的字符串作爲第一個捕獲組:
/p/3/005/07a/356/1399435.png","$type":"com.linkedin.voyager.common.MediaProcessorImage","$id":
但這種預期的結果:
/p/3/005/07a/356/1399435.png
我該怎麼做?
注:我可以使用[^&]+
停止匹配,但在這種情況下,它會拋出Catastrophic Backtracking
錯誤。
注意到[this](https://regex101.com/r/wqmwDp/5)是我的真實數據。 – Alex
你想要提取的是在結構化數據中,使用結構。 1)解析html以使用'DOMDocument'提取'code'標籤的內容。 2)用'''替換'"e;'3)解碼json並按照它的結構找到你想要的結果 –
@CasimiretHippolyte我看,謝謝 – Alex