0
votes

Regex-Comment scinder la chaîne par délimiteur et s'il n'y a pas de retour de Délimiteur entier

Je voudrais extraire des informations d'une chaîne comme ci-dessous: xxx

par exemple, pour extraire le mot ksdfxx2344 de la chaîne ci-dessus.
Actuellement, j'ai: xxx

qui peut extraire les mots dans la situation 1, mais ne peut pas extraire la chaîne sans délimiter _ . Comment puis-je extraire les mots s'il n'y a pas de délimiteur à l'intérieur? Toute suggestion?

Merci beaucoup!


1 commentaires

Quelle langue / outil utilisez-vous?


3 Réponses :


0
votes

Comme ceci: xxx xxx

la pièce xxx

est un Look positif à venir

voir https://regex101.com/r / Jprilr / 2


3 commentaires

Comment connaissez-vous à l'avance si un délimiteur est présent? Peut-être ^ [^ _] + (? = _ | $) .


Merci, mais la première regex ne peut pas extraire la deuxième situation. Si je combine ces deux: [^ _] + (? = _) | [^ _] +, Le deuxième et troisième mot derrière "_" sera également extrait alors que je n'attendra que la première des suggestions?


Poste édité en conséquence



1
votes

Ne divisez pas, remplacez: xxx pré>

par exemple, par exemple en Java: p> xxx pré>

ou python: p>

^[^_]*


0 commentaires

0
votes

Vous pouvez utiliser le premier groupe de capture avec un Classe de caractères annulée [_] + code> et éventuellement ? code> correspond à un soulignement suivi de la correspondance jusqu'à la fin de la chaîne.

^([^_]+)(?:_.*)?$


0 commentaires