Foros del Web » Programando para Internet » PHP »

Expresión regular para detectar el símbolo $

Estas en el tema de Expresión regular para detectar el símbolo $ en el foro de PHP en Foros del Web. Hola, estoy interesado en filtrar las ocurrencias del símbolo $ que aparezcan "sueltas" en un texto, es decir, precedidas y seguidas de al menos un ...
  #1 (permalink)  
Antiguo 24/12/2010, 08:33
 
Fecha de Ingreso: diciembre-2010
Mensajes: 1
Antigüedad: 13 años, 3 meses
Puntos: 0
Expresión regular para detectar el símbolo $


Hola, estoy interesado en filtrar las ocurrencias del símbolo $ que aparezcan "sueltas" en un texto, es decir, precedidas y seguidas de al menos un espacio o tabulador o salto de línea.
He probado con esta rutina:

$text2 = 'a $ a $ d
$ f $ d $ $ d';
//El filtrado consistirá en cambiar dichas ocurrencias de forma que "$" se convierta en "\$",
//por eso capturo el índice
$count = preg_match_all ( '/\s+\$\s+/', $text, $matches, PREG_OFFSET_CAPTURE );
echo "count: " . $count;

==> count: 5

Lo que sucede aquí es que no detecta el carácter $ si está precedido de otro $ (aunque haya antes espacios o tabuladores).

Entiendo que el caracter $ es un poco puñetero por tener un significado especial dentro de las expresiones regulares, pero aun así no consigo solucionar este problema. ¿Alguien puede echarme una mano?

  #2 (permalink)  
Antiguo 24/12/2010, 10:32
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Expresión regular para detectar el símbolo $

Esta expresión probablemente sirva: /(?<=\s)\$(?=\s)/
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.

Etiquetas: detectar, regular
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:33.