2009-10-06 42 views
0

我試圖將它們分成標記,它主要在那裏。我真的希望將主令牌分成NIGHT,set,xpath模式,要分配給xpath模式的值,即第二個值爲'high',第二個'offline-offline'和' - '和'+'。C#Regex。這個正則表達式不完成這個工作

NIGHT.set('.//idmef:Source[1]','+') 
NIGHT.set('.//idmef:Assessment/idmef:Impact/@severity', 'high') 
NIGHT.set('/idmef:IDMEF-Message/idmef:Alert/idmef:Source[1]/@ident', 'taken-offline', '-') 

它們是將XML映射到特定模式狀態的表達式。但是,當我對它們運行下面的正則表達式,我似乎仍然在離開這些

public static string[] Tokenize(string ActionItem) 
{ 
    Regex RE = new Regex(@"([(\.\//\s\;\,\:\.\)]+)"); 
    return (RE.Split(ActionItem)); 
} 

當我運行它,我得到以下幾點:

NIGHT 
. 
set 
(
' 
.// 
idmef 
: 
Assessment 
/
idmef 
: 
Impact 
/
@severity' 
, 
'high' 
) 


NIGHT 
. 
set 
(
' 
.// 
idmef 
: 
Source[1]' 
, 
'+' 
) 


NIGHT 
. 
set 
(
' 
/
idmef 
: 
IDMEF-Message 
/
idmef 
: 
Alert 
/
idmef 
: 
Source[1] 
/
@ident' 
, 
'taken-offline' 
, 
'-' 

它是」,我不知道知道你說的是什麼,單引號,它仍然留在。

我在做什麼錯了?

+0

外面你也表明你想要得到的輸出的例子嗎? – 2009-10-06 17:48:37

+0

哦,夥計,現在你有3個問題 – 2009-10-06 17:51:39

回答

0

嘗試這種模式,在這裏工作很好。它匹配了「'」,但它不包括到分裂的結果(因此它的parenthses

'?([(\.\//\s\;\,\:\.\)]+)'? 
+0

這是非常接近的,但它是開放式支架和冷杉之間留下一個空間.//或/。 B – 2009-10-06 18:52:48

+0

它足夠接近 B – 2009-10-06 20:57:05

+0

謝謝,鮑勃.... – 2011-04-02 19:27:16

相關問題