Я пытаюсь создать Regexp в JS, который просматривает только строку с файлами и игнорирует пути, у которых нет имени файла.
Вход
tanxe\src\lib\hello
tanxe\lib\hello\world\verboseBackup.js
tanxe\src\hello\verboseBackup.js
tanxe\lib\verboseBackup.js
Пытающийся
input.match(/^tanxe.*?lib.*?\\..*/i)
Ожидаемый результат:
tanxe\lib\hello\world\verboseBackup.js
tanxe\lib\verboseBackup.js
@Wasim удалить ^, чтобы строка соответствовала



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете попробовать это: tanxe\\lib.*?\.\w+
Он соответствует путям, начинающимся с tanxe\lib и заканчивающимся расширением файла.
input.match(/^tanxe\\lib\\(\w+\\)*\w+\.\w+/gi);
См. Созданную мной скрипку regExr.
Вы можете попробовать этого приятеля
^.*\.\w+$
Explanation
^ - привязка к началу строки..* - соответствует чему-либо один или несколько раз, кроме символа новой строки.\. - соответствует ..\w+ - соответствует словесному символу один или несколько раз.$ - Конец строки.Обновлять:-Если вы строго хотите сопоставить tanxe \ lib и следите только за вещами
Вы можете попробовать этого приятеля
^tanxe\\lib\\.+\.\w+$
Ваше регулярное выражение работает, я думаю, вам нужны дополнительные флаги: g global, m multiline
var input = `tanxe\\src\\lib\\hello
tanxe\\lib\\hello\\world\\verboseBackup.js
tanxe\\src\\hello\\verboseBackup.js
tanxe\\lib\\verboseBackup.js
D:\\Program Files\\atom\\.atom\\packages\\utilities-tanxe\\lib\\abc\\verboseBackup.js`
input.match(/^.*tanxe.*?lib.*?\..*/gmi).forEach(r => console.info(r))
// start with "tanxe"
//input.match(/^tanxe.*?lib.*?\..*/gmi).forEach(r => console.info(r))Попробуйте и это.
tanxe\\[a-zA-Z\\]+[.]{1}[a-zA-z]{2,3}
Попробуйте
/^tanxe\\lib.*?\\.[^\\]*$/i