Sto cercando di scrivere un espressione regolare che corrisponda un elenco separato da virgole di parole e catturare tutte le parole. Questa linea dovrebbe essere abbinato apple , banana ,orange,peanut
e cattura dovrebbe essere apple
, banana
, orange
, peanut
. Per fare questo io uso seguente espressione regolare:Odd comportamento espressione regolare - corrisponde solo prima e l'ultima acquisizione del gruppo
^\s*([a-z_]\w*)(?:\s*,\s*([a-z_]\w*))*\s*$
Si abbina con successo la stringa, ma tutto ad un tratto solo apple
e peanut
vengono catturati. Questo comportamento è visto sia in C# che in Perl. Quindi presumo che mi manchi qualcosa su come funziona la corrispondenza con regexp. Qualche idea? :)
+1 io non ero sicuro se .net ha questa funzione ed è stato troppo pigro per controllare. – stema
@stema Non mi ero nemmeno reso conto che si trattava di un problema, pensavo che tutti i valori si sarebbero presentati in 'Gruppi'! – Rawling
Grazie per avermi segnalato alla raccolta di '.Captures'! Alla fine mi è capitato di usare la stessa espressione regexp mentre inserivo la domanda e poi eseguivo for for (int i = 1; i
bazzilic