我試圖捕捉看起來像這樣的元素表中的文本:通配符匹配不添加到陣列preg_match_all
<span id="ctl00_MainContent_ListView2_ctrl2_ctl01_Label17" class="vehicledetailTable" style="display:inline-block;width:475px;">OWNED</span><br />
我preg_match_all樣子:
preg_match_all('~475px;">(.*?)</span><br />~', $ret, $vehicle);
問題是頁面上還有其他表格也匹配,但數據與我的查詢無關。我想都在數據「ListView2」,但「ct101_Label17」變化 - Label18,Label19,Label20等
因爲我不感興趣捕獲標籤,有沒有一種方法匹配主題字符串而不捕獲匹配?東西沿線:
<span id="ctl00_MainContent_ListView2_ctrl2_ctl01_[**WILDCARD HERE**]" class="vehicledetailTable" style="display:inline-block;width:475px;">OWNED</span><br />
任何幫助將不勝感激。
你應該使用'DOM'而不是正則表達式 – anubhava
你可能想在這裏使用某種形式的html解析庫而不是正則表達式。用正則表達式解決這個問題是可能的,但是你處於危險區域,正則表達式可能會導致一些細微的邊緣情況錯誤,這是識別和調試的噩夢。 –
我認爲你的通配符是[non](http://www.regular-expressions.info/charclass.html#negated) - 引用? '[^「] +'[參見regex101](https://regex101.com/r/jH6cP8/1) –