Bonjour,
Je travaille sur le script du jeu vidéo GTA IV et n'arrive pas à me sortir d'affaire avec les regex.
Voici un extrait du script sur lequel je travaille :
Dave Daddy's back, you bitches... Daddy's back, you bitches!
Niko Dave, come on. [knocking on door] Come on Dave.
Hossan Niko? What are you doing?
Niko Dave is not coming.
Hossan Ah, ignore him. Come on we got to get this thing ready before we dock.
[Hossan and Niko climb up a ladder to a higher deck.]
Hossan Let's go. Here, pass me that. There. Whooh yeah! There she is...
Liberty City.
Niko Yeah.
Hossan You ever been?
Niko No.
Hossan Crazy place, Niko.
Niko What you going to do?
Hossan I might come back on board... or I might try to make a go of it. Like
they say, it is the land of opportunity. I always wanted to make it
big... own a nice place, get a dog, a house... live the dream!
Niko Like my cousin.
Hossan Oh yeah?
Niko Yes - he's got the lot - house, women, cars, parties... he writes me in
these wild emails, and after I got into trouble, I thought maybe uh...
and then I got this gig, and I spend the next seven months with you
fine people and I forget... After the war finished, I couldn't get a
job, nobody could... so I, uh, did some dumb things and got involved
with some idiots...
**Ce que je veux
Récupérer dans un premier groupe le nom du locuteur et dans un second l'ensemble de ses paroles.
**Ce que j'obtiens
La regex que j'utilise : (^[A-Z].+?)\s.+?([A-Z].+)
Fonctionne parfaitement lorsque le dialogue est sur une ligne unique mais ne me permet pas de récupérer les dialogues sur plusieurs lignes (par exemple, la dernière intervention de Nico dans l'extrait que je vous ai joins). J'avoue que je sèche complètement pour récupérer cela ... quelqu'un aurait une piste de réfléxion que je pourrai approfondir ?
Merci d'avance !
Salut,
il faut que tu autorises les minuscules où est la partie script car dans le cas d'un retour à la ligne il n'y a pas de majuscules : [A-Z].+
=> [a-zA-Z].+
ce qui donne, en remplaçant [a-z]
et [a-Z]
par \w
:
(^[\w].+?|\s+)\s+([\w].+)