8
votes

Quelle saveur de POSIX de Regex utilise-t-elle?

Spécifiquement, j'utilise la commande Linux:

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


3 commentaires

Perl a défini de nombreuses extensions au POSIX REGEX (c'est-à-dire que ce n'est pas du tout POSIX). Je ne pense pas qu'il y ait un équivalent de Posix. Quelles fonctionnalités spécifiques de regex souhaitez-vous utiliser?


La différence ici est la syntaxe de \ {and \), etc. Les posix étendus sont ceux dont vous avez besoin.


C'est comme demander quel genre de motocyclette est humérique. Ce sont des choses vraiment différentes, bien qu'ils effectuent des fonctions similaires.


5 Réponses :


10
votes

Le moteur d'expression régulier de Perl est le moteur d'expression régulier de Perl. Perl Définit Perl.

Pour plus de détails, voir perdoc perlreref .


0 commentaires

7
votes

Perl utilise des expressions régulières Perl, pas des posix. Vous pouvez comparer vous-même les syntaxes vous-même, par exemple dans regex (7) .


0 commentaires

11
votes

Perl a défini sa propre norme pour les regexes. E.G., il existe des systèmes tels que PCRE , qui représente des expressions régulières compatibles Perl.


3 commentaires

+1, bien que Notez que PCRE n'est pas complètement compatible avec Perl.


Le nom est trompeur, car PCRE est compatible Perl uniquement si vous envisagez un sous-ensemble de paramètres de PCRE et un sous-ensemble d'installations d'expression régulières de Perl. en.wikipedia.org/wiki/pcre


Correction - et vous auriez pu éditer que dans, je n'aurais pas été offensé. :)



4
votes

Les regexnes de Perl ressemblent davantage à ceux de Posix étendus. POSIX de base expressions régulières utilisez ( et { pour correspondre aux caractères réels et \ ( et \ { comme spécial caractères, mais les posix étendues utilisent ( et { pour la même signification que dans perl et \ ( ou \ { Pour correspondre aux caractères réels, identiques à Perl. SO POSIX-étendue est ce que vous voulez.


0 commentaires

6
votes

par Perldoc Perlhist , Perl 0 ("Classé. Ne demande pas.") Utilisé expressions régulières de base. Toutes les versions depuis, à commencer par Perl 1.000 en décembre de 197, ont utilisé des expressions régulières étendues (et étendues sur celles-ci ...).


0 commentaires