RegExp Соответствует только путям, содержащим имя файла

Я пытаюсь создать 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

Попробуйте /^tanxe\\lib.*?\\.[^\\]*$/i

Wiktor Stribiżew 06.12.2018 09:39

@Wasim удалить ^, чтобы строка соответствовала

ewwink 06.12.2018 10:21
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
2
150
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Вы можете попробовать это: 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}

Другие вопросы по теме