Re: [問題] 請問一個表示法

看板RegExp (正規表示式 Regular Expression)作者 (阿樂)時間12年前 (2013/01/15 16:42), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《twoseven (Tse)》之銘言: : 環境 .NET C# : 我有一串html要抓取 規則是這樣 : <tbody> : <title>我要的資料A</title> : <by> : <span>我要的資料B</span> <---此段是我的問題 : </by> : <by> : xxxxxxxxxxxxxx : </by> : </tbody> : -------------------------------------------------- : 我要抓的資料固定就是 <tbody>開始 </tbody>結束 : 我寫的方法很簡單本來用 : <tbody>.*?<title>(?<A>.*?)</title>.*?<by>.*?<span>(?<B>.*?)</span>.*?</tbody> : 結果後來資料B出現一些狀況 有可能會沒有<span>出現 : 而這筆資料我也不需要 即是我只要 tbody by裡面有 span標籤的A跟B就好 : 可是當出現一筆錯誤資料時候 (譬如第一筆沒有span第二筆有) : 結果他就會取第一筆的資料A 跟第二筆的資料B : 也就是開頭變成第一筆的tbody 結束是第二筆的/tbody : 請問我要如何排除第一筆錯誤的格式 而改從第二筆的tbody重新匹配? : 謝謝 不知道是不是你說的意思 連續資料如下: <tbody> <title>我要的資料A</title> <by> <span>我要的資料B</span> </by> <by> xxxxxxxxxxxxxx </by> </tbody> <tbody> <title>我要的資料C</title> <by> xxxxxxxxxxxxxx </by> </tbody> <tbody> <title>我要的資料D</title> <by> <span>我要的資料E</span> </by> <by> xxxxxxxxxxxxxx </by> </tbody> <tbody>\s+<title>([^<]+).+?(?:<span>([^<]+)|</tbody>) 得 我要的資料A 我要的資料B 我要的資料C 我要的資料D 我要的資料E -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.120.179.172
文章代碼(AID): #1GzHPxyp (RegExp)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 2 之 3 篇):
文章代碼(AID): #1GzHPxyp (RegExp)