2011-06-27 3 views
-2
@"\[ [~\w]+ \]" 

Pourquoi cette expression régulière fonctionne pas pour trouver [~ dp0] dans la chaîne « bla bla texte factice [~ dp0] »Pourquoi ce fichier .net regex ne fonctionne-t-il pas?

+8

Parce qu'il n'y a pas d'espace dans '[~ dp0]'. Rien d'autre? –

+1

Y at-il autant de votes négatifs parce que vous pensez que c'est une question de devoirs ou quoi? – FishBasketGordo

+1

devrait-il si c'est devoirs? c'est une question valide. ne mérite probablement pas de votes ascendants mais 4 voix en bas ?? allez ... – Beno

Répondre

2

En raison des espaces. Il devrait être \[[~\w]+\] ou utiliser l'option IgnorePatternWhiteSpace.

+0

+1 me battre pour ça! –

2

Ouais ... C'est les espaces.

@"\[[~\w]+\]" 

Si vous voulez ignorer les espaces dans le motif, vous pouvez utiliser RegexOptions.IgnorePatternWhitespace:

Regex.Match ("blah blah dummy text[~p0]". @"\[ [~\w]+ \]", RegexOptions.IgnorePatternWhitespace); 
Questions connexes