Можно ли еще упростить это регулярное выражение JavasScript \. (Md | njk | md \ .njk) $? - PullRequest
1 голос
/ 16 апреля 2019

Мне нужно сопоставить эти строки:

foo.md     -> capturing group should be: (.md)
foo.njk    -> capturing group should be: (.njk)
foo.md.njk -> capturing group should be: (.md.njk)

... захват всего после первой точки (РЕДАКТИРОВАТЬ: но все же расширение должно быть md или njk или md.njk) .

Вот что я сделал: \.(md|njk|md\.njk)$ ( test ), во-первых, и это работает.

Я пытался упростить этотак что я закончил с другим: \.(md|(md\.)?njk)$ ( test ), что это немного лучше, но все еще повторяет слова "md".

Не может быть упрощено дальше или нет

Ответы [ 2 ]

2 голосов
/ 16 апреля 2019

Если вы хотите захватить что-нибудь после первой точки, я думаю, вы можете использовать это

/\.(.+)$/gi

enter image description here

РЕДАКТИРОВАТЬ: как фракция упоминается в комментарии, поставить $ в конце не плохая идея

1 голос
/ 16 апреля 2019

Как насчет этого?

/\.((md)?(\.)?(njk)?)$/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...