Regex для обрезки начальных / начальных запятых:, aa, bb, cc, - PullRequest
0 голосов
/ 13 февраля 2012

Я пытаюсь захватить aa,bb,cc из следующих строк:

,aa,bb,cc,
aa,bb,cc,
,aa,bb,cc
aa,bb,cc

Мой план заключался в следующем:

  1. Соответствует началу привязки строки или привязкизатем запятая
  2. Захват до конца привязки строки или запятая, за которой следует привязка конца строки

Ближайшее, что у меня есть: (?:^,|^)(.*)(?:$|,$), новключая запятые в группе захвата:

,aa,bb,cc, -> aa,bb,cc,
aa,bb,cc,  -> aa,bb,cc,
,aa,bb,cc  -> aa,bb,cc
aa,bb,cc   -> aa,bb,cc

Почему это не работает, и каково правильное решение?

Ответы [ 2 ]

2 голосов
/ 13 февраля 2012

Попробуйте это

^,*(?<trimmed>.*?),*$
1 голос
/ 13 февраля 2012

Кажется, что это работает: ^,*(.*?),*$

Ключевая идея - ленивая звезда *?, потому что я хочу, чтобы последние запятые (и даже несколько запятых, я предполагаю) соответствовали последним,* вместо сопоставления в скобках.

...