2009-06-10 5 views
8

J'ai une grande expression régulière et j'ai activé IgnorePatternWhitespace pour que je puisse le rendre plus lisible. Mon problème est que je veux correspondre à un caractère espace littéral. Quelle est la meilleure façon de faire cela?.NET Regex correspond à un caractère espace lorsque IgnorePatternWhitespace est activé

Un exemple:

Regex myRegex = new Regex(@" 
    (?> <table[^>]*>) # Find a table 
    (?> .*?<tr>) # Find the first row 
    (?> .*?<th>) # Find the first header column 
    My phrase # Look for our key phrase 
    etc. 
", RegexOptions.IgnorePatternWhitespace); 

Dans l'exemple ci-dessus, "Ma phrase" devrait inclure un espace.

Répondre

7

Il semblerait que vous pouvez simplement échapper au caractère d'espace avec une barre oblique inverse:

My\ phrase 
11

Utilisez « \ s » ou « [] »

+5

Utilisez [] depuis \ s correspondront également des onglets et nouvelles lignes. –

Questions connexes