Fatta eccezione per l'asserzione di lunghezza zero, il carattere nell'input sarà sempre utilizzato nell'abbinamento. Se ti trovi nel caso in cui desideri catturare un determinato carattere nella stringa di input più volte, avrai bisogno di un'asserzione di lunghezza zero nella regex.
ci sono diverse di lunghezza zero affermazione (ad es ^
(inizio input/linea), $
(fine dell'input/linea), \b
(limite di parola)), ma guarda-around ((?<=)
positiva look-dietro e (?=)
sguardo positivo) sono l'unico modo per catturare il testo che si sovrappone all'input. Gli sguardi negativi ((?<!)
negative look-behind, (?!)
negative look-ahead) non sono molto utili qui: se affermano true, l'acquisizione interna non è riuscita; se affermano false, la partita fallisce. Queste asserzioni sono a lunghezza zero (come detto prima), il che significa che affermeranno senza consumare i caratteri nella stringa di input. Corrispondono effettivamente alla stringa vuota se passa l'asserzione.
L'applicazione delle conoscenze di cui sopra, una regex che funziona per il vostro caso sarebbe:
(?=(\w\w))
[Lookahead] (http://stackoverflow.com/questions/320448/overlapping-matches-in-regex) –