Сопоставьте два целых числа, используя выражение glob - PullRequest
0 голосов
/ 07 октября 2019

Я пытаюсь найти следующие пути, отличные от / dev / ttyS0, т.е. / dev / ttyS1 до / dev / ttyS99. В моем терминале Linux я использую:

ls /dev/ttyS[1-9][0-9]*

Это ничего не возвращает. Выражение ниже возвращает / dev / ttyS1 вплоть до / dev / ttyS9.

ls /dev/ttyS[1-9]

Есть идеи, как заставить работать первое выражение?

1 Ответ

5 голосов
/ 07 октября 2019

Что не так с:

$ ls /dev/ttyS[1-9]*

Я имею в виду, я знаю, что это не заставляет последующие символы быть цифрами - но из-за того, как мы знаем, что эти файлы названы, они всегда будут работать.

Обновление: Кажется, вы слегка растеряны. Это паттерны глобуса, а не регулярные выражения. Но я не уверен, как Python подходит для этого.

Если вам нужен точный шаблон глобуса для ваших требований, тогда используйте:

$ ls /dev/ttyS{[1-9],[1-9][0-9]}
...