Il mio primo pensiero non sarebbe di usare un'espressione regolare, ma di usare qualcosa che divide la stringa in una matrice sulla virgola, ma poiché hai chiesto una espressione regolare.
la maggior parte delle espressioni regolari consente di specificare una corrispondenza minima o massima, quindi qualcosa del genere potrebbe funzionare.
/(?:[^\,]*\,){6}([^,]*)/
Questo ha lo scopo di adattarsi a qualsiasi numero di caratteri che non sono una virgola seguito da una virgola sei volte esattamente (?:[^,]*,){6}
- il ?:
dice di non catturare - e poi da abbinare e catturare qualsiasi numero di caratteri che non sono una virgola ([^,]+)
. Vuoi usare il primo gruppo di cattura.
Fatemi sapere se avete bisogno di maggiori informazioni.
MODIFICA: ho modificato quanto sopra per non acquisire la prima parte della stringa. Questa regex funziona in C# e Ruby.
Devi usare espressioni regolari? Che ne dici di un 'str.split (", ") [N - 1]' – Amarghosh
@Amarghosh Potrebbe non usare Python – CoffeeRain
Non vuoi farlo con un'espressione regolare. Se vuoi dividerlo, o meglio ancora, usa un modulo di analisi CSV, quindi estrai l'elemento necessario dall'elenco risultante. – tchrist