Я хочу удалить все трейлинг-лиги (-
) и заменить любые повторяющиеся тире одной тире в противном случае на JavaScript. Я разработал регулярное выражение, чтобы сделать это:Понимание замены с помощью регулярного выражения
"----asdas----asd-as------q---".replace(/^-+()|()-+$|(-)+/g,'$3')
И это работает:
asdas-asd-as-q
Но я не понимаю $3
части (полученной через отчаянный эксперимент). Почему не $1
?
+1, но, вероятно, хорошая идея, чтобы кратко объяснить это выражение;) –
Спасибо, я добавил краткое объяснение моему ответу. – anubhava
+1 для гораздо лучшего решения, чем у меня, но точно не отвечает на мой вопрос –