Каково определение регулярного выражения?

Необходимо скопировать postinst файл (и другие подобные файлы) к каталогу подготовки пакета. Если Вы используете dh_make, это выполняется dh_installdeb, который, конечно, включен в dh install. Если Вы делаете все вручную. скопируйте файл в debian/tmp/DEBIAN/ где debian/tmp каталог подготовки.

10
13.04.2017, 15:36
2 ответа

Поскольку lk-сказал, -name опция find будет рассматривать аргумент как шарик, не регулярное выражение.

Интерпретируется ли строка как шарик или regex, или просто простая строка зависит от того, что используется, чтобы сделать интерпретацию. Это - вопрос контекста. Строка в Вашем примере, [Rr]eading[Tt]est[Dd]ata может быть оценен различными способами, но что это, зависит от того, как Вы используете его. Используйте его в качестве шарика, это - шарик. Используйте его в качестве regex, это - regex. В случае вопроса, где это произошло, OP описал строку как regex. Поэтому мы можем предположить, что он планировал интерпретировать его как regex.

Отдельный символ может также быть regex, абсолютно. Это может также быть строка, и это может также быть шарик. Это могло быть интерпретировано как байт или tinyint, если Вам нравится. Все это зависит от контекста.

Существует много спецификаций для регулярных выражений в различных формах. BRE и ДО хорошо документируются. PCRE добавляет ставриды функциональности. Много regex интерпретаторов реализуют, например, "весь из ДО и некоторые PCRE". Или они сделают ДО минус некоторая функция. Если Вы идете формальными спецификациями, много много regex-поддержки требования инструментов, которая оказывается неправильной или неполной. Знание деталей позволяет, Вы адаптировать Ваши решения набора функциональности, доступной в любом инструменте, оцениваете свой regex.

Так... при поиске определений, которые "исключают" шарики, Вы смотрите на это с неправильной точки зрения. То, что это, определяется тем, как Вы используете его.

10
27.01.2020, 20:01

[Rr]eading[Tt]est[Dd]ata кажется, допустим и как шарик и как регулярное выражение, и я верю, имеет то же "значение" в обеих интерпретациях. Однако -name опция find будет рассматривать аргумент как шарик, не регулярное выражение.

Это различие будет иметь значение, предоставляете ли Вы аргумент такой как foo*, который является и допустимым шариком и действительным регулярным выражением, но имеет другое значение в зависимости от интерпретации:

Если интерпретируется как шаблон шарика, это будет соответствовать foo, foobar, foo123, и т.д.

Если интерпретируется как регулярное выражение, это будет соответствовать fo, foo, foooooo, и т.д.

7
27.01.2020, 20:01
  • 1
    Спасибо, я вижу различие между шаблоном шарика и regex. Каково формальное определение regex хотя? –  terdon♦ 27.08.2012, 17:20
  • 2
    , который я не знаю, существует ли единственное определение для "регулярных выражений" как термин, является наиболее часто используемым. Существуют различные спецификации синтаксиса, такие как регулярные выражения POSIX или регулярные выражения Perl, которые включают другие "функции", такие как обратные ссылки или предвидения. Они больше не могут быть регулярными выражениями в самом строгом смысле (в контексте регулярных формальных языков), но все еще упомянуты как таковые. –  lk- 27.08.2012, 17:38

Теги

Похожие вопросы