/ / Regex pour extraire la chaîne entre les modèles - c #, .net, regex

Regex pour extraire une chaîne entre les patterns - c #, .net, regex

Besoin d'aide avec le regex à utiliser pourextraire une chaîne entre un motif de début et un motif de fin. De plus, l'expression régulière doit grep tous les caractères jusqu'à la fin de la ligne si aucun motif_fin n'existe.

Sample 1 : "BOOK1:book1A,book1B,book1C,book1D"

Résultat attendu: book1A, book1B, book1C, book1D

Sample 2 : "BOOK1:book1A,book1B,book1C,book1D|BOOK2:book2A,book2B,book2C,book2DA"

Résultat attendu: (1) book1A, book1B, book1C, book1D (2) book2A, book2B, book2C, book2DA

"J'ai réussi à résoudre l'expression régulière (illustrée ci-dessous) lorsque le terminateur de chaîne est" | ", mais je ne parviens pas à le résoudre lorsqu'il n'y a pas de terminateur

(?<=BOOK1:).*(?=|)

Réponses:

2 pour la réponse № 1

Utilisation $ et changer .* à .*?

(?<=BOOK1:||).*?(?=||$)

$ marque la fin de la ligne ou de la chaîne

.*? correspondrait paresseusement


Par exemple, pour l'entrée

a|b|c|d|e

avec regex

(?<=|).*(?=|)

cela correspondrait b|c|d

avec regex

(?<=|).*?(?=|)

cela correspondrait

b
c
d