Pregunta

Primer post, así que aquí va. Estoy escribiendo un script que realiza una búsqueda inteligente y la reemplaza en un árbol de archivos. Esencialmente, el script obtiene el contenido de cada archivo en una cadena de búfer y realiza una coincidencia con un patrón predefinido, en este caso el patrón es / ^ [^ \ r \ n] * (proveedor) [^ \ r \ n] * $ / im . El patrón debe encontrar cualquier forma de " proveedor " insensible a mayúsculas y minúsculas Y dame toda la línea que fue emparejada. Necesito ver toda la línea para determinar si reemplazar o no la ocurrencia. Este patrón funciona bien para cualquier número de apariciones de línea separadas en un archivo dado.

Sin embargo, si hay varias apariciones en una línea dada, el patrón solo coincidirá con una de esas ocurrencias y omitirá las otras. Estoy tratando de determinar si necesito tener un segundo patrón para realizar búsquedas adicionales en la línea coincidente, o si puedo lograr este propósito con un solo patrón que haga todo lo anterior.

Solo una muestra de lo que espero producir. Un ejemplo de una línea única, coincidencia de múltiples ocurrencias:

  

revoluciona con entusiasmo   potencialidades de VENDOR habilitadas para la web   los proveedores instalaron e-tailers base.

Me gustaría mostrar algo similar a esto (de nuevo, la salida no es el problema aquí, es si puedo combinarlo todo con un solo patrón):

  

Apariciones múltiples en línea: ||   Revolucionar con entusiasmo   Potencialidades VENDEDOR habilitadas para la web   vendedores instalados e-tailers base. ||

     

Reemplazar? (y, n, q) || ... hábil VENDEDOR poten ... ||

     

¿Reemplazar? (y, n, q) || ... empata a los proveedores insta ... ||

Por favor, avíseme si no tengo claro cuál es mi objetivo. Gracias por cualquier ayuda y respuesta a esto!

¿Fue útil?

Solución

Si está usando

/^[^\r\n]*(vendor)[^\r\n]*$/im

Sugeriría agregar el operador g (global)

/^[^\r\n]*(vendor)[^\r\n]*$/img
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top