ho bisogno di trovare la regex per darmi una stringa in parentesi graffe, dove la stringa contiene anche parentesi graffe. Questa è la stringa è come
input{
stdin {
type => "stdin-type"
}
file {
type => "file"
}
}
output {
stdout { }
}
Quello che voglio è ad esempio solo la parte di input. Il mio ultimo tentativo è stato:
input{([sS]*)n}
Funziona, quando c'è solo una coppia interna diparentesi graffe e una nuova riga prima dell'ultima parentesi graffa, ma potrebbe non essere sempre così. E potrebbero esserci ancora più elementi interni con parentesi graffe. Quindi ho bisogno di qualcosa di più flessibile. Qualcosa con un contatore aperto o simile.
E ne ho bisogno per javascript.
Forse non è eseguibile con regex ??
Idee ben accette
tmoe
risposte:
0 per risposta № 1Avere la logica della regex per abbinare i pattern annidati potrebbe portarti in un incubo e la regex potrebbe non essere lo strumento giusto per questo.
In base alla tua espressione regolare, posso apportare alcune modifiche e utilizzare questo:
input{([sS]*?)^}
Utilizzerà la linea di partenza con }
come il delimitatore finale che potrebbe risolvere il tuo problema specifico, tuttavia la regex potrebbe non essere la migliore risposta al tuo problema.