Comment ajouter une nouvelle ligne de texte après un texte spécifique dans Notepad ++

-1

Comment ajouter une nouvelle ligne de texte après un texte spécifique dans Notepad ++, tout en conservant les lignes initiales - les lignes commencent toujours par les mêmes deux mots mais le reste.

D'accord, j'ai un texte qui contient plusieurs lignes. Je veux insérer une nouvelle ligne après chaque ligne qui commence par: "adresse source" deux mots. Ces deux mots peuvent être utilisés à nouveau dans le texte, mais je souhaite introduire de nouvelles lignes contenant le mot "port source any" après chaque ligne commençant par les mots "adresse source". Ces lignes sont plus longues et ne contiennent pas toujours les mêmes mots, mais elles commencent toujours par les mots "adresse source". Je veux garder ces lignes mais introduire une nouvelle ligne contenant 'port source any' chaque fois qu'il y a une ligne commençant par 'adresse source'.

J'ai vu peu de cas similaires mais tenez compte de mes contraintes actuelles: ces lignes ne sont pas toujours les mêmes. Ainsi, lorsque je remplace, je dois mémoriser / stocker la ligne qui n'est pas toujours la même mais qui commence par les mêmes 2 mots: ' adresse source '.

L'expression regex ne parvient pas à trouver 'adresse source'. J'ai essayé: ^ .source address. $ Qui trouve les lignes mais correspond également lorsque l'adresse source n'est pas au début des lignes - il me suffit d'ajouter une nouvelle ligne contenant 'port source any' après les lignes qui commencez par 'adresse source' alors que ces lignes commençant par adresse source doivent rester deux mots - ainsi, lorsque le remplacement survient, il doit contenir la ligne précédente commençant par l'adresse source. En outre, cette ligne contient plus de mots mais pas toujours les mêmes - seule l’adresse source de ces deux mots est toujours la même.

Merci d'avance.

Photographer
la source

Réponses:

2

Utilisez les fonctionnalités de recherche et de remplacement de RegEx (expressions régulières) de Notepad ++.

  • Trouver quoi: (^source address.*)
  • Remplacer par: \1\nsource port any
  • Assurer Regular Expressions est sélectionné comme Mode de recherche .
  • Assurer . matches newline est ne pas choisi.

Ceci trouvera n'importe quelle ligne commençant par ( ^ ) "adresse source" et capturez-le ( () ). Il remplacera ensuite cette ligne par le texte capturé ( \1 ), plus un marqueur de nouvelle ligne ( \n ), plus "port source quelconque".

Ƭᴇcʜιᴇ007
la source