2009-06-11 8 views

Respuesta

7

Quizás una lista separada por delimitadores, y no desea que coincida con ningún delimitador de terminación.

^((?:[^,]+,??)+),?$ 

que capturaría "a,b,c" de "a,b,c,", en tanto que la variante no perezoso incluiría la coma en la captura del grupo.

+0

Tal vez es solo el sabor que estoy usando, pero parece coincidir solo con la a, la b y la c; sin delimitadores Lo cual tiene sentido, porque '??' siempre será capaz de no coincidir con nada, y ya que es vago, siempre va a elegir nada, ¿no? – wkf

+0

Espera a que lo cambies, por lo que lo que dije probablemente ya no aplique. Todavía lo veo coincidiendo con la última coma. – wkf

+0

Coincide con la última coma, pero no la captura en el grupo. –

2

Lo usaría como una optimización si la pieza opcional por lo general no existe.

Foo(PartUsuallyPresent)?Bar 

Foo(PartUsuallyAbsent)??Bar 

Pero definitivamente me falta un ejemplo del mundo real, también.

Cuestiones relacionadas