Tengo una cadena larga con oraciones, cada oración contiene un número. Cada oración está separada por /X. Teniendo un número dado, ¿cómo puedo hacer coincidir y extraer solo la oración que contiene ese número?
"\X El animal 0000 Realmente cavo \X Sobre todos los demás está el cerdo. 222 \X Los cerdos son nobles. Los cerdos son inteligentes 3333, \X Los cerdos son 5555 corteses.\X Sin embargo, de vez en cuando, para romper esta regla 6666 , \X Uno se encuentra 7777 con un cerdo que es un tonto. \X"
Por ejemplo, quiero extraer la oración con el número 5555, para obtener esto: " Los cerdos son 5555 corteses".
¿Cómo hacer esto con JS regexp? Mi código coincide con todo el texto:
str.match(/\\X.*5555.*\\X/);Debe asegurarse de excluir en .* el caso en que coincidiría con \\X .
Esto funcionó para mí:
/[^\\X]*5555[^\\X]*/gUse esto si desea excluir el primer espacio de su oración, sin embargo, requiere soporte para Lookbehind:
/(?<=\\X )[^\\X]*5555[^\\X]*/g