2010-08-11 23 views
1

我需要一個正則表達式的.NET提取的「場」和在下面的字符串「寬度」值:特定的.NET Regex的幫助

<element 
    attribute='{field}' 
    attribute='{field,}' 
    attribute='{ field }' 
    attribute='{ field, 0 }' 
    attribute='{field,0}' 
    attribute='{ field, 10 }' 
    attribute='{field,10}' 
    attribute='{ field, 100 }' 
    attribute='{field,100}' 
/> 

我需要捕獲{和}字符之間一切然後提取字段和寬度。寬度是,和}字符之間的一切。如果不是,則字符寬度爲空/無。

+0

爲什麼不在這種情況下使用Linq到XML? – kbrimington 2010-08-11 17:00:50

+0

我不知道如何使用Linq到Xml。我需要在每場比賽中執行一次方法調用。這會有所作爲嗎?你能提供一個例子嗎? – AMissico 2010-08-11 17:10:39

回答

2
@"\{\s*(?<field>\w+)\s*(,\s*(?<width>\d*)\s*)?\}" 

用法:使用Regex.Matches,並從每個

編輯提取組:你可以在表達式中添加靜態文字太多,但會使其「難」到IMO閱讀。

+0

非常好,非常感謝。 – AMissico 2010-08-11 17:06:05