Supongamos que hay dos cadenas:pitón de expresiones regulares: coincidir con una cadena con una sola instancia de un personaje
$1 off delicious ham.
$1 off delicious $5 ham.
En Python, puedo tener una expresión regular que coincide cuando sólo hay un $ en la cadena? Es decir, quiero que el RE coincida con la primera frase, pero no con la segunda. He intentado algo así como:
re.search(r"\$[0-9]+.*!(\$)","$1 off delicious $5 ham.")
..saying "Match donde se ve una $ seguido de nada, excepto para otro $." No hubo coincidencia en el ejemplo $$, pero tampoco hubo coincidencia en el $ example.
¡Gracias de antemano!
método de prueba simple para la comprobación:
def test(r):
s = ("$1 off $5 delicious ham","$1 off any delicious ham")
for x in s:
print x
print re.search(r,x,re.I)
print ""
¿por qué no utilizar el método '.count()' de las cadenas? –
Estoy utilizando un RE para convertirme en una herramienta que no me permite agregar ninguna lógica adicional. Entonces no puedo hacer "if count (str," $ ")> 1: pass". Necesito que no coincidan en una cadena así. – Chris