Какое сокращение является правильным - «регулярное выражение» или «регулярное выражение» [закрыто]

119

Большинство из нас, программистов, очень одержимы правильной терминологией. Конечно, да, особенно потому, что иногда изменение всего лишь одного символа в слове может резко изменить его значение.

Итак ... каково правильное сокращение для «регулярного выражения»? Это «регулярное выражение» или «регулярное выражение»? В Интернете я вижу оба варианта использования, хотя «регулярное выражение» кажется более популярным, и список тегов здесь, на SO, также включает просто «регулярное выражение». Но многие люди также используют "регулярное выражение" в своих вопросах.

Vilx-
источник
5
Я считаю, что выигрывает тот, который проще всего произносить - «регулярное выражение» на милю превосходит «регулярное выражение». В человеческих языках это происходит постоянно. Это просто мое мнение.
Hamish Grubijan
9
Честно говоря, я никогда не видел, чтобы это называли регулярным выражением. Ни разу за всю мою жизнь до этого момента.
Энтони Пеграм
4
Исторически вы, конечно, правы. Слово «регулярное выражение» является сокращением слов «регулярное выражение». Но то, что мы называем регулярными выражениями, полностью отличается от того, что мы называем регулярным выражением. Например: регулярные выражения разработаны, чтобы быть чрезвычайно простыми и элегантными. Я могу записать полный синтаксис и семантику регулярных выражений в 4 строки каждая. На самом деле, мне даже не нужны полные строки, достаточно всего 4 пунктов в каждой. Напротив, синтаксис для литералов регулярного выражения в спецификации ECMAScript5 занимает всю страницу ...
Йорг В. Миттаг
2
Это напоминает мне еще один «важный» вопрос: «Это произносится как« машина »или« чар »?»
Эш
2
Этот вопрос кажется не по теме, потому что он касается терминологии, а не программирования.
Toto

Ответы:

563
/regexp?/    

Мэтт Стивенсон
источник
107
этот ответ полон победы
медер омуралиев
12
+1 - Я вижу, что вы там делали
Ник Крейвер
5
@Igor: это именно то , что ?средства в регулярном выражении {0,1}. Правда какой регексп? движки не поддерживают вопросительный знак, но они отстой ;-) В любом случае Perl поддерживает, и это наиболее близкий к "стандарту" синтаксис регулярных выражений.
David Z
6
+1 это абсолютный гений!
Мэтью Дж. Моррисон
6
Это не ответ на заданный вопрос.
Азат
64

Googlefight утверждает, что регулярное выражение побеждает, от 685000 до 289000 (что составляет примерно 2,37: 1).

Кроме того, регулярное выражение странно произносить вслух, потому что очень мало (если вообще есть?) Слов оканчиваются на звук «-ksp», но есть много слов, оканчивающихся на звук «-ecks».

Марк Рушаков
источник
7
В World of Warcraft люди выходят, чтобы набраться «опыта» (сокращение от «очков опыта»). Так сказать «exp» не сложно и не звучит странно. Все дело в том, как говорящий употребляет это слово.
Ши,
1
Я бы произнес «exp» как «ex-pee» - я не играю в WoW ...
Адриан Линч,
1
Мне нравится ответ, но я предпочитаю использование регулярного выражения . Недостаточно просто регулярного выражения , потому что оно не учитывает все согласные в начале. Обычно это следует делать с помощью аббревиатур, например. константа должна быть Const , а не против .
Адам Хуньяди
Игроки @Shi Warcraft почти всегда читают или пишут "exp".
Навид Вафаэй
24

Они оба в порядке. «регулярное выражение» является более распространенным, но «регулярное выражение» используется более широко, чем указывают другие ответы здесь. Некоторые примеры:

user85509
источник
2
Man regexp на моем Mac открывает страницу руководства Tcl. Хммм ... может это не одобрение.
dmckee --- котенок экс-модератора
17

regexкороче; следовательно, лучше :) Кроме того, это легче произносится.

houbysoft
источник
10

Принятое сокращение - «регулярное выражение».

По моему опыту, «Regexp» используется только в контексте Javascript, где фактически вызывается объект, представляющий регулярное выражение RegExp.

Клетус
источник
3
и в emacs. Функция поиска регулярного выражения isearch-forward-regexpи т. Д.
Адам Розенфилд
2
ECMAScript в целом - даже ActionScript называет этоRegExp
Amarghosh
1
Ruby тоже: ruby-doc.org/core-1.9.3/Regexp.html
qerub
1
Итак, в исходной записке QED, где Деннис Ричи и Кен Томпсон представили новую функцию регулярных выражений (в контексте редактирования текста), они написали: «В последующем обсуждении« <regexp> »будет обозначать регулярное выражение. «.
Sz.
6

Я думаю, что «регулярное выражение» более распространено (например, пакет Java java.util.regex). Если 10 000 фанатов Элвиса не могут ошибаться, я бы проголосовал за это, основываясь на цифрах.

duffymo
источник
2
И в .NET это такSystem.Text.RegularExpressions.Regex
Энтони Пеграм
6

Согласно Википедии

В вычислениях регулярные выражения, также называемые regex или regexp, ...

Ромен Иппо
источник
10
Кто, черт возьми, голосует за цитату из Википедии?!?
Адам Харт
7
@ Адам Харт: Кто, черт возьми, голосует за риторические вопросы?
Эндрю Гримм
@Andrew haha, на самом деле это «вопрос-постановка вопроса»
Адам Харт
5

«регулярное выражение» является более распространенным и используется в Perl FAQ. Google дает 4,5 миллиона обращений для «регулярного выражения» и 3,6 миллиона для «регулярного выражения». Википедия использует оба.

Что Вы предпочитаете? Я не думаю, что кто-то будет плохо думать о вас, если вы будете использовать их как взаимозаменяемые.

Dawg
источник
4
Достаточно интересно, что «perldoc perlre» (который описывает регулярные выражения в perl) везде говорит «регулярное выражение», но ссылается на «операторы, подобные кавычкам Regexp» в perlop. «perldoc perlop» немного сбивает с толку и говорит и то, и другое, хотя в основном «регулярное выражение». «perl -le 'print ref (qr / x /)'» выводит «Regexp». Я бы сказал, что Perl запутался.
Peter V. Mørch
4

Я бы сказал, что это «регулярное выражение», это основано на моем собственном опыте, на том, как я это слышал, и на обсуждении здесь сообщества.

Я не могу найти его на данный момент, но это обсуждение касалось мета-тегов на SO, поэтому это единственный вопрос с тегом «regexp» , остальные (8441 и подсчет) помечены как «regex» .


Просто боковая мысль здесь: имеет значение, что «правильно»? Подумайте о цели здесь, почему вы используете какое-то слово? Общаться. В определенной степени не имеет значения, что правильно или нет, важно, с каким из них вы можете эффективно общаться с большим количеством людей . Я бы сказал, что вы легко можете возразить против использования неправильного термина, если это то, что использует большинство вашей аудитории, поскольку общение - ваша цель.

Ник Крейвер
источник
Причина, по которой нет вопросов с тегом «regexp», заключается в том, что некоторые из нас продолжают удалять этот тег или заменять его на «regex» (как я только что сделал здесь). Нам не нужны два тега с одинаковым значением, и «регулярное выражение» имеет преимущество с точки зрения пользовательских предпочтений (хотя это может быть только потому, что оно короче).
Алан Мур
@Alan - да, но не думаете ли вы, что в данном случае «регулярное выражение» было ТАКЖЕ хорошим выбором, потому что вопрос заключается в сравнении двух?
Vilx-
1
@ Vlix - Вы можете так же легко возразить, что ни один из тегов не подходит, поскольку вопрос действительно о терминологии, а не о регулярных выражениях. Но ответы, кажется, показывают, что «регулярное выражение» в любом случае является победителем, так почему бы нам просто не придерживаться этого?
Алан Мур,
2
ОБНОВЛЕНИЕ: этот вопрос / ответ прошел до того, как здесь, в StackOverflow, была реализована функция «синонимов тегов». Теперь теги вроде regexpи regular-expressionавтоматически конвертируются в regex.
Алан Мур
4

Думаю, пора перестать думать о сокращениях и сокращениях. Регулярные выражения, которые мы используем в наших повседневных задачах, полностью отличаются от регулярных выражений в информатике или теории формального языка. Вот почему Ларри Уолл и другие видные члены сообщества Perl годами предпочитали «регулярное выражение»: называть их RegExp или RegEx, или даже RE, предполагает отношения, которые больше не применяются.

Алан Мур
источник
3

Я также слышал / читал:

reg-exp

А некоторые люди предпочитают, regexпотому что множественное число regexes«лучше»! (помимо причин, объясненных другими ответами).

.NET regex:System.Text.RegularExpressions.Regex

JavaScript regexp:RegExp

polkduran
источник
1
Или н.пл. Regexen.
WALF
2

Оба варианта подходят для письменного выступления, хотя вы, вероятно, не захотите слишком часто произносить "регулярное выражение" вслух;)

Для использования в коде я думаю, что regexp, вероятно, более понятен. Особенно, если вы используете заглавные буквы, такие как RegEx / RegExp. Суффикс Ex часто используется для обозначения расширенной версии более простой функции ... например, CreateWindow / CreateWindowEx в Windows API, поэтому RegExp может быть немного менее двусмысленным с точки зрения читаемости кода.

Джеральд
источник
-1

Я предпочитаю «ре», но это зависит от языка. JavaScript перечисляет его как «RegExp», тогда как в большинстве других языков это просто «RegEx».

При поиске в Google используйте более короткую версию. Но на форумах используйте "re";)

vol7ron
источник