Ricerca…


Sintassi

  • Costruisci un gruppo di cattura con nome ( X è il modello che vuoi catturare):

    (? 'name'X) (? X) (? PX)

  • Fare riferimento a un gruppo di acquisizione denominato:

    $ {nome} \ {nome} g \ {nome}

Osservazioni

Python e Java non consentono a più gruppi di usare lo stesso nome.

Come si presenta un gruppo di cattura con nome

Dati gli aromi, il gruppo di cattura denominato potrebbe essere simile al seguente:

(?'name'X)
(?<name>X)
(?P<name>X)

Con X è il modello che vuoi catturare. Consideriamo la seguente stringa:

C'era una volta una ragazza carina ...

C'era una volta un unicorno con un cappello ...

C'era una volta una barca con una bandiera pirata ...

In cui voglio catturare il soggetto (in corsivo) di ogni riga. Userò la seguente espressione .* was a (?<subject>[\w ]+)[.]{3} .

Il risultato della corrispondenza terrà:

MATCH 1
subject    [29-47]    `pretty little girl`
MATCH 2
subject    [80-99]    `unicorn with an hat`
MATCH 3
subject    [132-155]    `boat with a pirate flag`

Fai riferimento a un gruppo di cattura con nome

Come puoi (o non) sapere, puoi fare riferimento a un gruppo di cattura con:

$1

1 è il numero del gruppo.

Allo stesso modo, puoi fare riferimento a un gruppo di acquisizione con:

${name}
\{name}
g\{name}

Prendiamo l'esempio precedente e sostituiamo le corrispondenze con

The hero of the story is a ${subject}.

Il risultato che otterremo è:

The hero of the story is a pretty little girl. 
The hero of the story is a unicorn with an hat. 
The hero of the story is a boat with a pirate flag.


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow