-1
votes

Regex - Comment puis-je correspondre à ceci?

J'ai mal essayé de faire fonctionner cette regex, mais je ne suis tout simplement pas assez bon à ce sujet apparemment: (

Regex - essayer d'extraire des sources

Je pensais que cela fonctionnerait ... J'essaie d'obtenir tout le contenu où:

  1. Il commence par DS: //
  2. se termine par le retour de chariot ou une alimentation en ligne

    C'est ça! Essentiellement, je vais ensuite faire un lookahead négatif tel que je puisse supprimer tout contenu qui n'est pas conforme au-dessus (dans le bloc-notes ++) qui permet une recherche / remplacement de regex.


0 commentaires

4 Réponses :


0
votes

Vous n'avez pas besoin d'ajouter le spécificateur \ w code> pour rechercher un mot après le DS: // code> dans le look à venir. Suppression et modification de la spécification finale de "zéro ou d'un retour de chariot, alors zéro ou une nouvelle ligne" à "un retour de chariot ou une nouvelle ligne" dans Capture Group devrait le faire pour vous:

^(?:(?!ds:\/\/.*(?:\r|\n)).)*$


3 commentaires

Impressionnant. Cela les trouve tous. J'aurais pensé changer? = À?! aurait fait cela l'inverse (c'est-à-dire de trouver tout le reste) ... Je dois manquer quelque chose


Si vous avez le but, c'est de trouver tout le reste (pas entièrement effacez de votre question), vous devrez utiliser un "regard suround négatif" à genre de faire ce que vous voulez. Jetez un coup d'œil à Cet article détaillé pour plus d'informations. Faites-moi savoir si vous voulez que je fasse une fissure.


Regex mis à jour comme il n'a pas besoin de capturer \ n ou groupe.



-1
votes

Vous allez, Andrew:

regex: DS: \ / \ /.*

link: https://regex101.com/r/ulo9go/ 2

laissez-moi savoir si une question.


1 commentaires

Ne répond pas à la question.



0
votes

vous regex (? = DS: \ w +). * \ r? \ n? ne correspond pas car dans le contenu il y a DS: // et < code> \ w ne correspond pas à une barre oblique avant. Pour faire votre travail surgex, vous pouvez le changer à:

(? = DS: // \ w +). * \ r? \ n? Demo qui peut être raccourci vers DS: //.* \ r? Demo

Notez que vous n'avez pas à échapper à la barre oblique.

Si vous voulez faire une recherche et remplacer pour contenir les lignes contenant DS: // Vous pouvez utiliser un lookahead négatif:

trouver ce qu'est

^ (?! * ds: //). * \ r?

remplacer par

laisser vide

explication

  • ^ début de la chaîne
  • (?!. * DS: // ) lookahead négatif pour affirmer la chaîne ne contient pas DS: //
  • . * correspond à n'importe quel personnage 0 fois plus de fois
  • \ r? Une séquence de nouvelle ligne unicode en option pour correspondre également à la dernière ligne si elle n'est pas suivie d'une nouvelle ligne

    Voir le Démo Regex


0 commentaires

1
votes
  1. Recherchez des lignes contenant le motif et marquez-les
    • Menu de recherche> Mark
    • Trouvez quoi: DS: //.* \ r
    • vérifier l'expression régulière
    • cocher les lignes
    • Trouver tous
    • retirer les lignes non marquées
      • Menu de recherche> Signet
      • Supprimer les lignes non marquées

0 commentaires