[問題] 該怎麼寫(改善) 我的 Regexp
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
討論串 (同標題文章)
完整討論串 (本文為第 1 之 3 篇):
RegExp 近期熱門文章
PTT數位生活區 即時熱門文章