Я хочу перевірити шлях до файлу 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}/