2009-06-10 7 views
8

Tengo una gran expresión regular y he activado IgnorePatternWhitespace para que pueda hacerlo más legible. Mi problema es que quiero hacer coincidir un carácter de espacio literal. ¿Cuál es la mejor manera de hacer eso?.NET Regex coincide con el carácter de espacio cuando IgnorePatternWhitespace está en

Un ejemplo:

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

En el ejemplo anterior, "Mi frase" debe incluir un espacio.

Respuesta

7

Parecería que simplemente puede escapar el carácter de espacio con una barra invertida:

My\ phrase 
11

Uso "\ s" o "[]"

+5

Utilice [], ya que \ s también coincidirán con pestañas y nuevas líneas. –

Cuestiones relacionadas