Какой вариант регулярных выражений POSIX использует Perl?

В частности, я использую команду Linux:

$ find . -regextype posix-extended -regex '<some regex>' ...

Я просто хочу убедиться, что тип POSIX, который я использую, является типом, который использует Perl, так как это тот, с которым я лучше всего знаком.


person Kyle    schedule 07.04.2010    source источник
comment
Perl определил множество расширений регулярного выражения POSIX (т. е. это вообще не POSIX). Я не думаю, что есть эквивалент POSIX. Какие конкретные функции регулярных выражений вы хотите использовать?   -  person Cameron    schedule 07.04.2010
comment
Разница здесь в синтаксисе \{ и \) и т. д. Вам нужны расширенные posix.   -  person    schedule 07.04.2010
comment
Это все равно, что спросить, что за мотоцикл Hummer. Это действительно разные вещи, хотя и выполняют схожие функции.   -  person jpaugh    schedule 26.09.2017


Ответы (5)


Регулярные выражения Perl больше похожи на расширенные выражения Posix. Базовые регулярные выражения posix используют ( и { для соответствия фактическим символам, а \( и \{ в качестве специальных символов, но расширенные выражения Posix используют ( и { для того же значения, что и в Perl, и \( или \{ для соответствия фактическим символам, то же самое. как Перл. Итак, posix-extended — это то, что вам нужно.

person Community    schedule 07.04.2010

Perl определил свой собственный стандарт для регулярных выражений. Например, существуют такие системы, как PCRE, что означает Perl-совместимые регулярные выражения.

person Paul Nathan    schedule 07.04.2010
comment
+1, хотя обратите внимание, что PCRE не полностью совместим с Perl. - person Josh Kelley; 07.04.2010
comment
Название вводит в заблуждение, поскольку PCRE совместим с Perl, только если учесть подмножество настроек PCRE и подмножество средств регулярных выражений Perl. en.wikipedia.org/wiki/PCRE - person Sinan Ünür; 07.04.2010
comment
Исправлено - и вы, ребята, могли бы это отредактировать, я бы не обиделся. :) - person Paul Nathan; 07.04.2010

Механизм регулярных выражений Perl — это механизм регулярных выражений Perl. perl определяет Perl.

Подробнее см. perldoc perlreref.

person Sinan Ünür    schedule 07.04.2010

Perl использует регулярные выражения Perl, а не POSIX. Вы можете сами сравнить синтаксис, например в regex(7).

person wRAR    schedule 07.04.2010

Согласно perldoc perlhist, в Perl 0 ("Засекречено. Не спрашивайте") использовались базовые регулярные выражения. . Все версии с тех пор, начиная с Perl 1.000 в декабре 87 года, использовали расширенные регулярные выражения (и расширенные на них...).

person ysth    schedule 08.04.2010