2011-05-21 14 views

Respuesta

14

Usa una expresión regular en lugar de un literal.

lazy val caseSensitiveKeyword: Parser[String] = "casesensitive" 
lazy val caseInsensitiveKeyWord: Parser[String] = """(?i)\Qcaseinsensitive\E""".r 

(Consulte la documentación para java.util.Pattern para obtener información sobre la sintaxis de expresiones regulares utilizado.)

si está haciendo esto con frecuencia se podía proxeneta de cuerdas para simplificar la sintaxis:

class MyRichString(str: String) { 
    def ignoreCase: Parser[String] = ("""(?i)\Q""" + str + """\E""").r 
} 

implicit def pimpString(str: String): MyRichString = new MyRichString(str) 

lazy val caseInsensitiveKeyword = "caseinsensitive".ignoreCase 
+0

Gracias ! Funciona muy bien – Andres

Cuestiones relacionadas