0
votes

Regex pour les lignes correspondantes qui ne contiennent pas de lignes spécifiques

J'essaie d'obtenir uniquement la ligne qui est un paramètre supplémentaire à partir d'un ensemble de données. Par exemple xxx pré>

ma sortie souhaitée serait p> xxx pré>

Cependant, il peut être dans n'importe quel ordre, par exemple, par exemple P>

^((?!Line 5).)*$


17 commentaires

Pourriez-vous s'il vous plaît clarifier ce que l'objectif souhaité est? Est ligne 5 texte réel ou une ligne vide. Essayez-vous de saisir tout ce qui a deux mots séparés par un espace qui ne correspond pas au modèle de ligne \ s \ d + ? Voulez-vous juste la dernière ligne? Ce n'est pas clair ce que vous demandez.


Ah mon excuse, j'ai oublié d'ajouter que le "Asdsasfasfasdf asdasdasd" pourrait être dans n'importe quelle ligne autre que la première ligne


Que voulez-vous dire spécifiquement par "Paramètre supplémentaire à partir d'un ensemble de données"? Comment est-ce exactement différent?


Si vous voulez juste la dernière ligne, voir la réponse de Yukullélé ci-dessous


Mon ensemble de données que je reçois est la suivante: ABC # Ligne 1 Ligne 1 Line 2 Line 3 Line 4 Line 5 Line 5 Mais cela pourrait parfois me donner également un paramètre supplémentaire comme: `ABC # def ligne 1 ligne 2 lignes 3 ligne 4 ligne de paramètre supplémentaire 5` donc je devrais savoir quel est le paramètre supplémentaire qui me est donné


Votre entrée va-t-elle toujours avoir le texte exact "Line 1" ou utilisez-vous la ligne 1 comme un espace réservé pour tout texte? Votre exemple est très déroutant


C'est un porte-endroit, désolé pour la confusion. Cependant, le format est le même avec un espace entre les chaînes


Que représente "la ligne 1" et comment est-ce différent d'un paramètre supplémentaire? Chaque ligne aura-t-elle un mot, un espace et un nombre à l'exception de l'un d'entre eux? Dog 1 chat 2 poulet de poulet ? Où poulet poulet serait un paramètre supplémentaire


Oui Poulet Poulet serait le paramètre supplémentaire, mais cela pourrait être dans n'importe quel ordre. En outre, tout serait une chaîne de texte


Il est donc correct de dire que vous voulez trouver une ligne qui n'est pas un mot, un espace et un nombre? Quel est le motif que nous essayons de trouver ou d'éviter?


Vous voudrez peut-être éditer le titre de votre message. Votre question fait que cela ressemble à vous recherchez la réponse de Yukullélé, mais je ne pense pas que vous soyez


Est-ce ce que vous recherchez? - Regex101.com/r/glvoo6/2


Comment "la ligne D" est-elle différente de "paramètre supplémentaire", la ligne D ne disposera que d'un personnage dans le deuxième mot?


Non, cela pourrait avoir plus de caractère dans le deuxième mot


Comment pouvons-nous distinguer entre "la ligne D" et "paramètre supplémentaire" qu'ils semblent être deux mots séparés par un espace. C'est comme si vous disiez choisir le seul qui est un fruit d'un panier qui a une pomme, une orange et une banane. Ils sont tous des fruits donc je ne peux pas choisir. Vous devez me dire quelque chose d'unique sur "Paramètre supplémentaire" ou comment il est différent des autres lignes de votre entrée.


Oui, ils sont séparés par un espace. Mon plan initial était d'utiliser une regregez quelque chose comme celui-ci ^ (?!. * (String | Stringfoo | Foo | Ligne | Lignefoo)). * $ pour obtenir extrayez


Il peut être dans Anyline après la première ligne


3 Réponses :


0
votes

Avez-vous essayé Regexoption.Multiline, si vous travaillez avec la saveur .Net.? Cette option recherchera le match dans chaque ligne. En utilisant un jeton trempé (?! Ligne) Vous éliminez les lignes qui en ont une ligne.

^ (((?! ligne).) * $

http://regexstorm.net/tester?p=%5e%28%28%3ffline%29.%29*%24&i=+ABC%23DEF%0D%0A+Line+1%0D%0A+Line + 2% 0D% 0A + Ligne + 3% 0A% 0A + Ligne + 4% 0A% 0A + Ligne + 5% 0A% 0A + ASDSASFASFASDF + ASDASSAD & O = SM

uppote si cela aide.


1 commentaires

Bien que ce lien puisse répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et de fournir le lien pour référence. Les réponses uniquement des liaisons peuvent devenir invalides si la page liée change. - de l'avis



0
votes

Vous essayez d'obtenir la dernière ligne, n'est-ce pas?

Essayez ceci: p>

/[^\n]*$/


0 commentaires

0
votes

C'est ma meilleure hypothèse sur ce que vous recherchez

^ \ w + \ s [^ \ d] + $

Démo en direct

Toute ligne qui commence par un mot séparé par un espace non suivi d'un nombre


0 commentaires