Diciamo che ho una stringa:PowerShell Regex - opzionale gruppo denominato corrisponde
$string1 = "Hello_World:How, are, you:-all -is -well"
Vorrei usare una regex per abbinare le sezioni della stringa separati da due punti di in gruppi denominati. Per esempio:
$pattern = "(?<first>.*)\:(?<second>.*)\:(?<third>.*)"
Questo modello corrisponde a $ $ stringa1 con successo e vorrei finire con i seguenti incontri:
first=Hello_World
second=How, are, you
third=-all -is -well
Questo è un bene, ma c'è un problema. Il $ stringa1 potrebbe potenzialmente mancare la terza sezione, ad esempio:
$string1 = "Hello_World:How, are, you"
Purtroppo, questo $ stringa1 non corrisponde al modello regex. Come faccio a fare in modo che il pattern corrisponda a entrambi i formati di stringa? (Ad esempio, dovrei sempre avere una corrispondenza "prima" e "seconda", e solo una "terza" corrispondenza se fornita).
Yep, che è più semplice. Tuttavia, esito a dare questo il +1 finché l'OP conferma che le diverse parti _do non_ contengono ':' - non che la mia soluzione gestisca correttamente questo, heh. – fge