Яка правильна стенограма - "регулярний вираз" або "регулярний вираз" [закритий]


119

Більшість з нас комп'ютерні програмісти досить одержимі правильною термінологією. Я, безумовно, є, тим більше, що іноді змінюючи лише один символ у слові, можна кардинально змінити його значення.

Отже ... що є правильною стенограмою для "регулярного вираження"? Це "regex" чи "regexp"? В Інтернеті я бачу обидва способи використання, хоча "regex" здається більш популярним, і список тегів тут на SO також включає просто "regex". Але багато людей також використовують "regexp" у своїх питаннях.


5
Я вважаю, що той, котрий найлегше вимовити, перемагає - "regex" б'ється "regexp" милою. Це відбувається весь час людськими мовами. Це лише моя думка.
Гаміш Грубіян

9
Я, чесно кажучи, ніколи не бачив, щоб це згадувалося як регулярний вираз. Не один раз у всьому моєму житті до цієї миті.
Ентоні Пеграм

4
Історично ви, звичайно, правильні. Слово "регулярний вираз" - це скорочення слів "регулярний вираз". Але речі, які ми називаємо регулярними виразами, зовсім інші, ніж речі, які ми називаємо регулярними виразами. Наприклад: регулярні вирази призначені для надзвичайно простого та елегантного. Я можу записати повний синтаксис та семантику регулярних виразів у 4 рядки кожен. Насправді мені навіть не потрібні повні рядки, достатньо лише 4-х очок кулі. На відміну від цього, синтаксис для прямолінійних термінів у специфікації ECMAScript5 займає цілу сторінку ...
Jörg W Mittag

2
Це нагадує мені ще одне "важливе" питання: "Чи вимовляється це" машина "чи" чар "?"
Еш

2
Це питання видається поза темою, оскільки йдеться про термінологію, а не про програмування.
Toto

Відповіді:


563
/regexp?/    


107
ця відповідь сповнена виграшу
meder omuraliev

12
+1 - Я бачу, що ти там робив
Нік Крейвер

5
@Igor: це саме те , що ?кошти в регулярному виразі {0,1}. Правда, якийсь регулярний вираз? Двигуни не підтримують знак запитання, але вони смоктають ;-) У будь-якому випадку це Perl, і це найближче до "стандарту" для синтаксису регулярного вираження.
Давид Z

6
+1 - це абсолютний геній!
Меттью Дж. Моррісон

6
Це не відповідь на поставлене запитання.
Азат

64

Googlefight каже, що регулярний виграш перемагає від 685000 до 289000 (що становить приблизно 2,37: 1).

Також regexp дивно вимовляти вголос, оскільки так мало (якщо є?) Слів, які закінчуються звуком "-ksp", але є багато слів, які закінчуються звуком "-ecks".


7
У World of Warcraft люди виходять, щоб отримати деяку "досвіду" (скорочення - "бали досвіду"). Так що сказати "exp" - це ні важко, ні звучить дивно. Це просто питання про те, наскільки оратор використовується до цього слова.
Ши

1
Я б вимовив "exp" як "ex-pee" - я не граю WoW ...
Адріан Лінч

1
Мені подобається відповідь, але я віддаю перевагу вимові regexp . Говорячи просто регулярного виразів, тому що він не враховує всіх приголосних на початку. Зазвичай абревіатури повинні робити це, наприклад. константа повинна бути const , а не con .
Адам Хуняді

Гравці @Shi Warcraft майже завжди читають або пишуть "досвід".
Navid Vafaei

24

Вони обоє в порядку. "regex" є більш поширеним, але "regexp" використовувався ширше, ніж інші відповіді, на які вказано тут. Деякі приклади:


2
Man regexp на моєму комп'ютері відображає сторінку Tcl man. Гммм ... можливо, це не схвалення.
dmckee --- кошеня колишнього модератора

17

regexкоротший; тому краще :) Також простіше вимовляти.


10

Прийнята стенограма - "регулярний вираз".

"Regexp" використовується, на мій досвід, лише в контексті Javascript, де об'єкт, що представляє регулярний вираз, насправді викликається RegExp.


3
і в emacs. Функція знаходження регулярного виразу є isearch-forward-regexpі т. Д.
Адам Розенфілд

2
Взагалі ECMAScript - навіть ActionScript називає цеRegExp
Amarghosh,


1
Ну, в оригінальній записці QED, де Денніс Річі та Кен Томпсон ввели абсолютно нову особливість регулярних виразів (у контексті редагування тексту), вони написали: "У подальшому обговоренні" <regexp> "позначатиме регулярний вираз . "
Sz.

6

Я думаю, що "регулярний вираз" є більш поширеним (наприклад, пакет Java java.util.regex). Якщо 10 000 шанувальників Елвіса не можуть помилитися, я б проголосував за це на числу.


2
А в .NET цеSystem.Text.RegularExpressions.Regex
Ентоні Пеграм

6

За даними Вікіпедії

При обчисленні регулярні вирази, які також називаються регулярними виразами або regexp, ...


10
Хто на біса голосує цитатою з Вікіпедії?!?
Адам Харте

7
@Adam Harte: Хто, чорт, виголошує риторичні питання?
Ендрю Грімм

@Andrew haha, це насправді "запитання з питанням"
Адам Харте

5

"регулярний вираз" є більш поширеним і те, що використовується в FAQ Perl. Google дає 4,5 мільйона звернень за "regex" і 3,6 мільйона за "regexp". Вікіпедія використовує і те, і інше.

Що ви віддаєте перевагу? Я не думаю, що хтось подумає про тебе погано, якщо ти будеш користуватися ними взаємозамінно.


4
Досить цікаво, що "perldoc perlre" (що описує регулярні вирази в perl), говорить "регулярний вираз" скрізь, але посилається на "Regexp Quote-Like Operators" в perlop. "perldoc perlop" трохи заплутаний і каже обидва, хоча здебільшого "regex". "perl -le" ref print (qr / x /) '"друкує" Regexp ". Так що, Perl заплутався, я б сказав.
Петро В. Морч

4

Я б сказав, що це "регулярне вираження", це базується на моєму власному досвіді, як я це почув, і обговоренні спільноти тут.

На даний момент я не можу його знайти, але ця дискусія була про мета-теги на SO, тому це єдине питання з тегом "regexp" , решта (8441 і підрахунок) позначені "regex" .


Тут лише побічна думка: чи не має значення, що є "правильним?" Подумайте тут про мету, чому ви використовуєте якесь слово? Спілкуватися. До певної міри не має значення, що правильно чи ні, важливо, з ким ви можете ефективно доносити більше людей . Я б сказав, що ви можете легко стверджувати, що використовувати неправильний термін, якщо саме це використовує більшість вашої аудиторії, оскільки спілкування - ваша мета.


Причина, що немає питань, позначених "regexp", полягає в тому, що деякі з нас продовжують видаляти цей тег або замінюючи його "regex" (як я щойно тут робив). Нам не потрібні два теги з однаковим значенням, а "regex" має перевагу щодо переваг користувачів (хоча це може бути лише тому, що він коротший).
Алан Мур

@Alan - так, але чи не вважаєте ви, що в цьому випадку "regexp" був ТАКОЖ гарним вибором, адже питання полягає у порівнянні двох?
Вількс-

1
@ Vlix - Ви так само легко можете стверджувати, що жоден тег не підходить, оскільки питання стосується насправді термінології, а не регулярних виразів. Але відповіді, схоже, показують, що «регулярний вираз» все-таки є переможцем, то чому б ми просто не дотримувалися цього?
Алан Мур

2
ОНОВЛЕННЯ: Цей Q / A пройшов свій шлях до того, як функція "тег синоніми" була впроваджена тут у StackOverflow. Тепер теги люблять regexpі regular-expressionавтоматично перетворюються в regex.
Алан Мур

4

Я думаю, що настав час кинути думку з точки зору скорочень або скорочень. Регекси, які ми використовуємо у своїх щоденних завданнях, - це зовсім інша порода від звичайних виразів інформатики чи теорії формальної мови. Ось чому Ларрі Уолл та інші видатні члени спільноти Perl роками віддають перевагу "регулярному вираженню": називати їх RegExp або RegEx, або навіть RE, пропонує стосунки, які більше не застосовуються.


3

Я також чув / читав:

reg-exp

А деякі віддають перевагу regexтому, що множина regexes"приємніша"! (крім причин, пояснених іншими відповідями).

.NET regex:System.Text.RegularExpressions.Regex

JavaScript regexp:RegExp


1
Або н.пл. Регексен.
Вальф

2

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

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


-1

Я віддаю перевагу "повторно", але це залежить від мови. JavaScript перелічує його як "RegExp", тоді як більшість інших мов просто називають його "RegEx".

Під час googling перейдіть із скороченою версією. Але на форумах використовуйте "re";)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.