2009-10-06 11 views
0

J'essaie de les diviser en jetons et c'est surtout là. Je veux vraiment séparer les jetons primaires comme NIGHT, set, le pattern xpath, la valeur à assigner au pattern xpath, ie dans le second, 'high' et dans le second 'taken-offline' et ' - 'et' + '.C# Regex. Cette regex ne fait pas tout le travail

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', '-') 

Ce sont des expressions qui mappent XML à un état de modèle spécifique. Mais quand je lance l'expression rationnelle suivante sur eux, il me semble encore laisser ces derniers dans

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

Quand je lance, je reçois le texte suivant:.

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' 
, 
'-' 

Son que », je ne savoir ce que vous appelez, guillemet simple, il est encore laissé en.

Qu'est-ce que je fais mal?

+0

pouvez aussi vous montrer un exemple de la sortie que vous essayez d'obtenir? –

+0

homme Oh. Maintenant, vous avez 3 problèmes –

Répondre

0

Essayez ce modèle, fonctionne bien ici. Elle correspond à la « ' », mais ne comprend pas en résultat divisé (donc il est en dehors des parenthses

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

Il est très proche mais il laisse un espace entre l'équerre d'ouverture et les premiers .// ou/ B –

+0

Son assez proche B –

+0

Merci, Bob .... –

Questions connexes