2011-10-18 12 views
8

Necesito un patrón (expresión regular java) que coincida si hay una coma después de que la tecla o la tecla se encuentren al final de la línea. es decir que debe coincidir con los dos siguientes:Símbolo O patrón de fin de línea

1. xxxkey,yyy 
2. xxxkey 

He intentado [\\,$] patrón, pero no funciona.

Respuesta

11

$ dentro de una clase de personaje pierde su significado especial. Utiliza el siguiente lugar:

key(,|$) 

Si no necesita saber si había una coma, se puede utilizar un grupo sin fines de captura en su lugar:

key(?:,|$) 
+0

¿Cómo puede escapar caracteres con un significado especial dentro de las clases de caracteres? – Oliver

+0

¡¡GRACIAS !!!!!!)) – shift66

+0

@Oliver: No se trata simplemente de escapar del '$'. Ya que es un ancla en lugar de un personaje, no creo que puedas poner en una clase de personaje * en absoluto * sin que pierda su significado especial. En cualquier caso, consulte http://download.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html para conocer la sintaxis de expresiones regulares de Java. – NPE

1

probar este ...

"xxxkey(?:,\\w*)?$" 

o -

"xxxkey(?:,.*)?$" 

o -

"xxxkey(?:,|$)" 

Dependiendo de sus necesidades

0

El , es un personaje, pero el $ es especial, no es un personaje.

Pruebe ,? lo que significa una coma o no coma y siga con $.

1

Aquí es lo que necesita:

.*key((,.*)|$) 
Cuestiones relacionadas