2009-10-23 53 views
0

鑑於以下字符串C#正則表達式來打破對分號分隔的值到數組

7;#User One 
7;#User Two;#9;#User Two 
7;#User Two;#9;#User Two;#123;#User Three 

我想建立一個正則表達式的「休息」,這些開,使得每個字符串返回下面的比賽:

["7;#User One"] 
["7;#User Two", "9;#User Two"] 
["7;#User Two", "9;#User Two", "123;#User Three"] 

我嘗試了一些方法,但似乎無法讓它正常工作。誰能幫忙?

回答

3

這一個應該做的伎倆

#?([0-9]+;#[a-zA-Z\s]+) 
+0

第一組將包含你想要的比賽 – 2009-10-23 11:47:20

+0

首先回答 - 但所有的伎倆謝謝。 – 2009-10-23 11:51:55

1

在這裏你去:

#?\d*;#User [a-zA-Z]*[|#]? 
1

下面會給你組用戶名相匹配

#*(?<UserName>\d+;#[^;]+) 

這將是根本你在字符串前加了一個散列並附加了一個分號...

+0

是的,Chris的開局更好。仍然會去^;而不是a-z,因此除了分號以外,您可以在用戶中使用任何字符。 #?(\ d +;#[^;] +) – 2009-10-23 11:49:11