Quel est le raccourci correct - «regex» ou «regexp» [fermé]

119

La plupart d'entre nous, programmeurs informatiques, sommes assez obsédés par la terminologie correcte. Je le suis certainement, surtout parce que parfois, changer un seul caractère dans un mot peut changer radicalement sa signification.

Alors ... quel est le raccourci correct pour "expression régulière"? Est-ce "regex" ou "regexp"? Sur Internet, je vois les deux utilisations, bien que "regex" semble être plus populaire, et la liste des balises ici sur SO ne comprend également que "regex". Mais beaucoup de gens utilisent aussi "regexp" dans leurs questions.

Vilx-
la source
5
Je crois que celui qui est le plus facile à prononcer gagne - "regex" bat "regexp" là d'un mile. Cela se produit tout le temps dans les langues humaines. C'est seulement mon opinion.
Hamish Grubijan
9
Honnêtement, je ne l'ai jamais vu appelé regexp. Pas une seule fois dans ma vie avant cet instant.
Anthony Pegram
4
Historiquement, vous avez bien sûr raison. Le mot «regex» est une contraction des mots «expression régulière». Mais les choses que nous appelons les expressions régulières sont complètement différentes de celles que nous appelons regex. Par exemple: les expressions régulières sont conçues pour être extrêmement simples et élégantes. Je peux écrire la syntaxe et la sémantique complètes des expressions régulières en 4 lignes chacune. En fait, je n'ai même pas besoin de lignes complètes, seulement 4 puces chacune suffisent. En revanche, la syntaxe des littéraux de regexp dans la spécification ECMAScript5 occupe une page entière ...
Jörg W Mittag
2
Cela me rappelle une autre question "importante": "Est-il prononcé" voiture "ou" char "?"
Ash
2
Cette question semble hors sujet car elle concerne la terminologie et non la programmation.
Toto du

Réponses:

563
/regexp?/    

Matt Stephenson
la source
107
cette réponse est pleine de victoire
meder omuraliev
12
+1 - Je vois ce que tu as fait là-bas
Nick Craver
5
@Igor: c'est précisément ce ?moyen dans une expression régulière, {0,1}. Vrai, une expression régulière? les moteurs ne supportent pas le point d'interrogation mais ils craignent ;-) Quoi qu'il en soit Perl le fait, et c'est ce qui se rapproche le plus d'un "standard" pour la syntaxe des expressions régulières.
David Z
6
+1 c'est du génie absolu!
Matthew J Morrison
6
Ce n'est pas la réponse à la question posée.
Azat
64

Googlefight dit que regex gagne, 685000 à 289000 (soit environ 2,37: 1).

De plus, l' expression rationnelle est étrange à dire à voix haute parce qu'il y a si peu de mots (voire aucun?) Qui se terminent par un son "-ksp", mais il y a beaucoup de mots qui se terminent par un son "-ecks".

Mark Rushakoff
la source
7
Dans World of Warcraft, les gens sortent pour gagner des "exp" (abréviation de "points d'expérience"). Donc dire «exp» n'est ni difficile ni bizarre. Tout dépend simplement de la façon dont le locuteur est utilisé pour ce mot.
Shi
1
Je prononcerais "exp" comme "ex-pee" - Je ne joue pas à WoW ...
Adrian Lynch
1
J'aime la réponse, mais je préfère la prononciation de l' expression rationnelle . Dire simplement regex fait défaut, car cela ne tient pas compte de toutes les consonnes au début. Habituellement, les abréviations devraient faire cela, par exemple. constant doit être const , pas con .
Adam Hunyadi
Les joueurs @Shi Warcraft lisent ou écrivent presque toujours "exp".
Navid Vafaei
24

Ils sont tous les deux OK. "regex" est plus courant, mais "regexp" a été utilisé plus largement que les autres réponses ici ne l'indiquent. Quelques exemples:

user85509
la source
2
Man regexp sur mon mac affiche une page de manuel Tcl. Hmmm ... ce n'est peut-être pas une approbation.
dmckee --- ex-moderator chaton
17

regexest plus court; donc mieux :) De plus, il est plus facile à prononcer.

houbysoft
la source
10

Le raccourci accepté est "regex".

"Regexp" n'est utilisé, d'après mon expérience, que dans le contexte de Javascript où l'objet représentant une expression régulière est effectivement appelé RegExp.

cletus
la source
3
et dans emacs. La fonction pour trouver une expression régulière est isearch-forward-regexp, etc.
Adam Rosenfield
2
ECMAScript en général - même ActionScript l'appelleRegExp
Amarghosh
1
Eh bien, dans le mémo original de QED, où Dennis Ritchie et Ken Thompson ont présenté la toute nouvelle fonctionnalité des expressions régulières (dans le contexte de l'édition de texte), ils ont écrit: "Dans la discussion suivante," <regexp> "désignera une expression régulière . "
Sz.
6

Je pense que "regex" est plus courant (par exemple, package Java java.util.regex). Si 10000 fans d'Elvis ne peuvent pas se tromper, alors je voterais pour cela sur la base des chiffres.

duffymo
la source
2
Et dans .NET c'estSystem.Text.RegularExpressions.Regex
Anthony Pegram
6

Selon Wikipedia

En informatique, les expressions régulières, également appelées regex ou regexp, ...

Romain Hippeau
la source
10
Qui diable vote une citation de Wikipedia?!?
Adam Harte
7
@Adam Harte: Qui diable vote les questions rhétoriques?
Andrew Grimm
@Andrew haha, c'est en fait une "question de déclaration"
Adam Harte
5

"regex" est plus courant et ce qui est utilisé dans la FAQ Perl. Google donne 4,5 millions de visites pour «regex» et 3,6 millions pour «regexp». Wikipedia utilise les deux.

Que préfères-tu? Je ne pense pas que quiconque pensera mal à vous si vous les utilisez de manière interchangeable.

dawg
la source
4
Il est intéressant de noter que "perldoc perlre" (qui décrit les expressions régulières en perl), dit "regex" partout mais fait référence aux "opérateurs de type citation de Regexp" en perlop. "perldoc perlop" est un peu confus et dit les deux, mais surtout "regex". "perl -le 'print ref (qr / x /)'" imprime "Regexp". Donc perl est confus, je dirais.
Peter V.Mørch
4

Je dirais que c'est "regex", c'est basé sur ma propre expérience, comment je l'ai entendu, et la discussion de la communauté ici.

Je ne peux pas le trouver pour le moment, mais cette discussion portait sur les balises meta over sur SO, c'est pourquoi c'est la seule question étiquetée "regexp" , les autres (8441 et comptage) sont étiquetées "regex" .


Juste une petite pensée ici: est-ce que ce qui est «correct» importe ? Pensez à l'objectif ici, pourquoi utilisez-vous un mot? Communiquer. Dans une certaine mesure, peu importe ce qui est correct ou non, peu importe lequel vous pouvez communiquer efficacement à plus de personnes . Je dirais que vous pourriez facilement argumenter pour utiliser un terme incorrect, si c'est ce que la majorité de votre public utilise, puisque la communication est votre objectif.

Nick Craver
la source
La raison pour laquelle il n'y a pas de questions étiquetées "regexp" est que certains d'entre nous continuent de supprimer cette balise ou de la remplacer par "regex" (comme je viens de le faire ici). Nous n'avons pas besoin de deux balises avec la même signification, et "regex" a l'avantage en termes de préférences des utilisateurs (bien que cela puisse être simplement parce qu'il est plus court).
Alan Moore
@Alan - oui, mais ne pensez-vous pas que dans ce cas "regexp" était AUSSI un bon choix, car la question est de comparer les deux?
Vilx-
1
@ Vlix- Vous pourriez tout aussi bien affirmer qu'aucune des deux balises n'est appropriée, car la question concerne vraiment la terminologie, pas les expressions rationnelles. Mais les réponses semblent montrer que "regex" est le gagnant de toute façon, alors pourquoi ne pas nous en tenir à cela?
Alan Moore
2
MISE À JOUR: Ce Q / R a suivi son cours avant que la fonctionnalité "tags synonymes" ne soit implémentée ici chez StackOverflow. Désormais, les balises aiment regexpet regular-expressionsont automatiquement converties en regex.
Alan Moore
4

Je pense qu'il est temps d'arrêter de penser en termes de raccourcis ou d'abréviations. Les expressions régulières que nous utilisons dans nos tâches quotidiennes sont d'une race entièrement différente des expressions régulières de l'informatique ou de la théorie formelle du langage. C'est pourquoi Larry Wall et d'autres membres éminents de la communauté Perl ont préféré les "regex" pendant des années: les appeler RegExp ou RegEx, ou même RE, suggère une relation qui ne s'applique plus.

Alan Moore
la source
3

J'ai aussi entendu / lu:

reg-exp

Et certains préfèrent regexparce que le pluriel regexesest "plus agréable"! (en plus des raisons expliquées par d'autres réponses).

.NET regex:System.Text.RegularExpressions.Regex

JavaScript regexp:RegExp

Polkduran
la source
1
Ou n.pl. Regexen.
Walf
2

Les deux sont parfaits pour un discours écrit, même si vous ne voulez probablement pas dire "regexp" à voix haute trop souvent;)

Pour une utilisation dans le code, je pense que l'expression rationnelle est probablement plus claire. Surtout si vous utilisez des majuscules telles que RegEx / RegExp. Un suffixe Ex est souvent utilisé pour indiquer une version étendue d'une fonction plus simple ... c'est-à-dire CreateWindow / CreateWindowEx dans l'API Windows, donc RegExp pourrait être un peu moins ambigu en ce qui concerne la lisibilité du code.

Gérald
la source
-1

Je préfère "re", mais cela dépend de la langue. JavaScript le répertorie comme "RegExp", alors que la plupart des autres langages l'appellent simplement "RegEx".

Lorsque vous recherchez sur Google, optez pour la version plus courte. Mais dans les forums, utilisez "re";)

vol7ron
la source