我有這個有點模板文本:正則表達式問題搶鑰匙
您好{#姓名#},
感謝各位出席在{#日期#}和 等等,我們的愛能再次見到你這裏 {#總統#}
所以我試圖讓{#...#}
模板零件,並把它們放到一個數組。
但我的表達沒有工作:
\b(?<=\{\#)(.*)(?=\#\})\b
結果成了這樣的事情該示例文本:
{#Something#} Hello {#Brand#}
結果:
Something#} Hello {#Brand
我有這個有點模板文本:正則表達式問題搶鑰匙
您好{#姓名#},
感謝各位出席在{#日期#}和 等等,我們的愛能再次見到你這裏 {#總統#}
所以我試圖讓{#...#}
模板零件,並把它們放到一個數組。
但我的表達沒有工作:
\b(?<=\{\#)(.*)(?=\#\})\b
結果成了這樣的事情該示例文本:
{#Something#} Hello {#Brand#}
結果:
Something#} Hello {#Brand
這個怎麼樣? {#([^#]+)#}
這裏是在PowerShell腳本中使用的例子:
$input = "{#Something#} Hello {#Brand#}"
$match = [regex]::Match($input, "{#([^#]+)#}")
$i = 0
while ($match.Success) {
$i++
write-host ("Match {0}: '{1}'" -f $i, $match.Groups[1].Value)
$match = $match.NextMatch()
}
而這正是它輸出:
Match 1: 'Something'
Match 2: 'Brand'
FYI:.NET具有非常類似的通過數據綁定表達式內置的東西。有關如何使用它的示例,請參閱此文章:http://haacked.com/archive/2009/01/04/fun-with-named-formats-string-parsing-and-edge-cases.aspx – chilltemp 2010-04-19 21:15:50