[問題] 該怎麼寫(改善) 我的 Regexp

看板RegExp (正規表示式 Regular Expression)作者 (雨)時間12年前 (2013/05/10 21:54), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/3 (看更多)
VBS RegExp (兩行是同一行): '(\d+)-(\d+).html',(\d+).+?[\n\r]{1}.+?(?:(?:.+?>)? (.+[話卷])(?:\s.+?)?|(?:.+?>)?(.+?))</ <!-- 一堆 html --> <td style="width:10%;white-space:nowrap;"><a href='#' onclick="cview('102-1.html',1);return false;" id="c1" class="Vol"> 第01卷</a></td><td style="width:10%;white-space:nowrap;"><a href='#' onclick="cview('102-2.html',1);return false;" id="c1" class="Vol"> 第02卷</a></td><td style="width:10%;white-space:nowrap;"><a href='#' onclick="cview('102-3.html',1);return false;" id="c3" class="Vol"> 第03卷</a></td><td style="width:10%;white-space:nowrap;"><a href='#' onclick="cview('102-4.html',1);return false;" id="c4" class="Vol"> 以此後面類推 <!-- 一堆 html --> ---------------- 分隔線 ------------------- 我的 RegExp 如上,現在是都可以正常工作。 但是紫色區塊,因為來源的關係,會有以下幾種情況 (就目前觀察)@@ 第一個紫色區塊,目標是下面這五種 1. 第\d+卷</ 2. 第\d+話</ 3. <font color=red id=lch>第\d+話</ 4. 第\d+話 各話標題</ 5. <font color=red id=lch>第\d+話 各話標題</ 第二個紫色區塊,的目標是下面這種 6. 番外\d+</ 7. <font color=red id=lch>番外2</ 1. 請問是否有辦法盡量在一次的正規比對內寫出符合以上可能的 Regexp (下面這個不是很重要,我可以在程式內處理這個問題) 2. 另外,每一次的紫色區塊的比對,只會符合其中一種 但是 VBS 跟 Ruby, 都會將那兩個紫色區分為兩個 Group 4, Group 5 group 1 2 3 4 5 Ex: Match 1:101,1,14,第\d+話, Match 2:101,2,14, ,番外\d+ 有辦法把這兩個紫色區塊看作是同一個 Group4 嗎? 也就是 當 Group4 = null 的時候,就不紀錄。 直接將 Group5 的結果存在 Group4 內。 這樣有辦法嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.204.46.87
文章代碼(AID): #1HZFm68R (RegExp)
文章代碼(AID): #1HZFm68R (RegExp)