2009-06-10 9 views
8

Ho un'espressione regolare di grandi dimensioni e ho attivato IgnorePatternWhitespace in modo che possa renderlo più leggibile. Il mio problema è che voglio abbinare un carattere di spazio letterale. Qual è il modo migliore per farlo?Spazio dello spazio di corrispondenza di .NET Regex quando IgnorePatternWhitespace è

Un esempio:

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); 

Nell'esempio di cui sopra, "La mia frase" dovrebbe includere uno spazio.

risposta

7

Sembrerebbe che si può semplicemente sfuggire il carattere di spazio con un backslash:

My\ phrase 
11

Usa "\ s" o "[]"

+5

Usare [] dal momento che \ 's anche abbinare schede e a capo. –

Problemi correlati