2014-01-27 21 views
0

我們公司將HTML頁面模板保存在一個.CSV文件中,用「;」分隔HTML頁面(每一行.CSV上有一個完整的網站)。 網站將由一個批處理文件生成,第一步是用同樣存儲在同一個.CSV(行首)中的變量覆蓋HTML模板,並在第二步導出HTML頁面。 要在模板中替換的HTML字符串用佔位符標識!!pageID.tagID.attribute! ,並且在HTML內容(每行一個站點)之前,在每行的開始處使用語法%pageID.tagID.attribute = value%聲明幾十個變量。 由於缺乏良好的正則表達式技巧,我被困在我的cmd.exe批處理文件中。 誰可以找到正確的正則表達式模式(以^開始並以$結尾),它將用我的變量值覆蓋我的HTML模板。 我打算使用findrepl.bat實用程序http://www.dostips.com/forum/viewtopic.php?f=3&t=4697來允許WSH/VBS正則表達式。 Powershell可以用於.NET高級正則表達式($ matches object?) 非常感謝。來自我老闆的好獎勵...用cmd.exe + regexp覆蓋一個.CSV文件中的HTML

例如:一個.CSV文件的行 %AA.line1.href = Microsoft.com %% AA.line1.txt =您好%%%AB.warning.css = red%... ...等(約50個變量); '<'body'>'...'<'a href =! AA.line1.href! '>'<'strong'>!!AA.line1.txt! '<'/ strong'>'<'span> World'<'/ span'>'<'/ a'>'...'<'/ body'>'; '<'body'>'...'<'section style =「color:!AB.warning.css!」'>'請閱讀'<'/ section'>'...'<'/ body'>'; ...(大約20個HTML頁面模板)

回答

0

你的解釋有點不清楚,但是從我收集的內容來看,你有一個包含許多字符串的大文件。在這些字符串中,有一小組變量被感嘆號包圍。

這個正則表達式應該從該字符串中提取每個變量(pageID,tagID和屬性)。

  • !\w+.將捕獲的pageID

  • .\w+.將捕獲TAGID(與包含週期沿)

  • .\w+!將捕獲屬性(連同(帶有驚歎號和週期沿)期間和尾隨感嘆號)