2
我試圖在VBScript中使用正則表達式來替換具有文本'PLACEHOLDER'的'候選'類的HTML標記。但是,這並不總是奏效。用VBScript替換HTML正則表達式
<[^\>]*class=""[^\>]*candidate[^\>]*""[^\>]*>([\s\S]*?)</[^\>]*>
Flags: IgnoreCase = True, Multiline = True, Global = True
的問題是,我不知道是什麼類型的HTML標籤將包含這個類(例如,這可能是一個< div>標籤或< p>標籤)。其次,正則表達式在內部HTML標籤中效果不佳。
主題HTML:
<div class="outer">
<div class="normal">
<p><strong><em>Test</em></strong></p>
</div>
<div class="candidate">
<p>Test 1:</p>
<ul>
<li>Test 2</li>
<li>Test 3 </li>
<li>Test 4 </li>
</ul>
<p>Test 5</p>
</div>
<p>Test 6</p>
<div class="normal">
<p><strong>Test 7</strong></p>
</div>
</div>
預期:
<div class="outer">
<div class="normal">
<p><strong><em>Test</em></strong></p>
</div>
<div class="candidate">
PLACEHOLDER
</div>
<p>Test 6</p>
<div class="normal">
<p><strong>Test 7</strong></p>
</div>
</div>
實際:
<div class="outer">
<div class="normal">
<p><strong><em>Test</em></strong></p>
</div>
<div class="candidate">
PLACEHOLDER
<li>Test 2</li>
<li>Test 3 </li>
<li>Test 4 </li>
</ul>
<p>Test 5</p>
</div>
<p>Test 6</p>
<div class="normal">
<p><strong>Test 7</strong></p>
</div>
</div>
相同的HTML標籤也可以具有相同的類型,但不同類的其內標籤目前零星工作。
e.g:
<div class="candidate">Test<div class="normal">Test</div></div>
任何幫助將極大地讚賞。
+1暗示的適應方法,而不是使用Regex_的_Golden錘(+2 INT,-2 WIS) – AutomatedChaos