Domanda

Primo post, quindi ecco qui. Sto scrivendo uno script che esegue ricerche intelligenti e lo sostituisce su un albero di file. In sostanza, lo script inserisce il contenuto di ciascun file in una stringa buffer ed esegue una corrispondenza con un modello predefinito, in questo caso il modello è / ^ [^ \ r \ n] * (fornitore) [^ \ r \ n] * $ / im . Lo schema dovrebbe trovare qualsiasi forma senza distinzione tra maiuscole e minuscole di "fornitore" e dammi l'intera riga corrispondente. Devo vedere l'intera riga per determinare se sostituire o meno l'evento. Questo modello funziona bene per qualsiasi numero di occorrenze di linea separate in un dato file.

Tuttavia, se ci sono più ricorrenze su una determinata riga, il modello corrisponderà solo a una di queste occorrenze e salterà le altre. Sto cercando di determinare se è necessario disporre di un secondo modello per eseguire ulteriori ricerche sulla linea abbinata o se posso raggiungere questo scopo con un singolo modello che fa tutto quanto sopra.

Solo un campione di ciò che spero di produrre. Un esempio di una singola riga, corrispondenza multioccorrenza:

  

Rivoluziona entusiasticamente   potenzialità di VENDOR abilitate per il web   i fornitori hanno installato e-tailer di base.

Vorrei produrre qualcosa di simile a questo (di nuovo, l'output non è il problema qui, è se posso abbinare tutto con uno schema):

  

Ricorrenze multiple in linea: ||   Entusiasta rivoluziona   potenzialità di VENDOR abilitate per il web   i venditori hanno installato e-tailer di base. ||

     

Sostituire? (y, n, q) || ... abled VENDOR poten ... ||

     

Sostituire? (y, n, q) || ... lega i venditori insta ... ||

Per favore fatemi sapere se non sono chiaro il mio obiettivo. Grazie per l'aiuto e la risposta a questo!

È stato utile?

Soluzione

Se si sta utilizzando

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

Suggerirei di aggiungere l'operatore g (globale)

/^[^\r\n]*(vendor)[^\r\n]*$/img
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top