/ / Ruby regex: перевірити шлях до файлу unix - ruby, regex

Ruby regex: перевірити шлях до файлу Unix - рубій, регулярний вираз

Я хочу перевірити шлях до файлу unix за допомогою regex.

я маю A[0-9a-zA-Z_-/]+z

Але це все ж дозволяє подвійні косої риси типу this//is//allowed

Як зробити так, щоб подвійні косої риски заборонено?

редагувати 1

Я хочу дозволити буквено-цифрові значення _, -, до тих пір, поки вони утворюють дійсний шлях до каталогу до Unix. Просто хочу переконатися в цьому // заборонено. Дякую

Відповіді:

4 для відповіді № 1

Ви повинні перемістити косу рису за межі класу символів і зробити її необов'язковою. А потім додайте кількісний коефіцієнт для класу символів та косою рисою, щоб повторити їх комбінацію протягом 1 або більше разів:

A(?:[0-9a-zA-Z_-]+/?)+z

Дивіться далі http://rubular.com/r/77kvWAoI4e

(?:
[0-9a-zA-Z_-]+   # Original character class without `/`.
/?                # An optional slash (Because the string need not end with `/`
)+                   # 1 or more repetition of their combination

І вам не потрібно бігти _ в регекс. А також - при використанні в кінці класу символів.

І нарешті, ваш клас персонажів можна зменшити до - [w-]. Отже, ваш регулярний вираз можна звести до:

A(?:[w-]+/?)+z

0 для відповіді № 2

Вкажіть цільовий символ разом із кількістю повторень

//{2}/