作者hpo14 (雨)
看板RegExp
標題[問題] 該怎麼寫(改善) 我的 Regexp
時間Fri May 10 21:54:11 2013
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