Регулярное выражение для соответствия уникальных подстрок - PullRequest
4 голосов
/ 02 сентября 2008

Вот базовая техника регулярных выражений, которую мне никогда не удавалось запомнить. Допустим, я использую довольно общую реализацию регулярных выражений (например, grep или grep -E). Если бы я должен был составить список файлов и сопоставить любой из них с .sty или .cls, как бы я это сделал?

Ответы [ 3 ]

4 голосов
/ 02 сентября 2008
ls | grep -E "\.(sty|cls)$"
  • \. соответствует буквально "." - без экранирования . соответствует любому символу
  • (sty|cls) - соответствует "sty" или "cls" - | является or и скобки ограничивают выражение.
  • $ заставляет совпадение находиться в конце строки

Обратите внимание, вы хотите grep -E или egrep, а не grep -e, поскольку это другая опция для списков шаблонов.

2 голосов
/ 02 сентября 2008

Это регулярное выражение:
\. (Свинарник | ЦБС) \ г
будет соответствовать любой строке, заканчивающейся на .sty или .cls
EDIT:
для grep \ z следует заменить на $ т.е. . \ (Свинарник | ЦБС) $ как жёлтоват предложено.

2 голосов
/ 02 сентября 2008
egrep "\.sty$|\.cls$"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...