Значение «match» в связи с регулярными выражениями - PullRequest
3 голосов
/ 16 февраля 2009

Я пишу курсовую работу по регулярным выражениям, и меня немного смущает то, как слово «match» используется при обращении к регулярным выражениям Какую из следующих формулировок использовать правильно:

  • "Регулярное выражение соответствует строке"

или

  • "Строка соответствует регулярному выражению"

Или они оба правы? Все мнения по этому поводу приветствуются! Я действительно хочу понять это правильно, и я думаю, что это очень поможет моему пониманию, чтобы это прояснить.

Ответы [ 11 ]

9 голосов
/ 16 февраля 2009

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

3 голосов
/ 16 февраля 2009

Когда две вещи совпадают, это (по крайней мере с логической точки зрения) не имеет значения, в каком порядке вы упоминаете их.

Так что это зависит от того, на чем вы хотите сфокусироваться.

Строка соответствует регулярному выражению: Фокус находится на строке.

Регулярное выражение соответствует строке: Фокус на регулярном выражении.

3 голосов
/ 16 февраля 2009

Строка сопоставляется с шаблоном регулярного выражения, поэтому я бы сказал, что последний является более точным

2 голосов
/ 16 февраля 2009

Последнее звучит лучше для меня. Регулярное выражение указывает шаблон, которому может соответствовать строка. Но в этом нет ничего плохого.

1 голос
/ 16 февраля 2009

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

0 голосов
/ 04 апреля 2009

Поскольку регулярное выражение представляет возможно бесконечный набор конечных строк, я бы сказал, что наиболее правильно написать, что «строка s соответствует регулярному выражению r». Можно также сказать, что «строка s является членом множества, сгенерированного регулярным выражением r».

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

0 голосов
/ 16 февраля 2009

Я бы сказал:

В время разработки пользователь / разработчик создает регулярное выражение , соответствующее строке .

В время выполнения механизм регулярных выражений находит строку , которая соответствует регулярному выражению .

(Не предназначено для определения, просто пример общего использования.)

0 голосов
/ 16 февраля 2009

«Строка соответствует регулярному выражению», кажется, сокращением от «строка написана на языке, определяемом регулярным выражением, и изоморфна регулярному выражению.»

«Регулярное выражение совпадает со строкой», по-видимому, сокращение от «автомат синтаксического анализа, скомпилированный из регулярного выражения, проанализирует строку и остановится в конечном состоянии».

0 голосов
/ 16 февраля 2009

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

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

Я бы предпочел сказать, что строка соответствует регулярному выражению, поскольку RE является инвариантной частью, и строка изменяется. Но это личное предпочтение и вряд ли какое-то отношение к реальности: -)

0 голосов
/ 16 февраля 2009

"Регулярное выражение соответствует строке"
Истинно, если RE совпадает со всей строкой (например, используя ^ $ или просто совпадает со всем). В противном случае я бы написал: регулярное выражение имеет совпадение (я) в строке.

"Строка соответствует регулярному выражению"
Опять же, true, если регулярное выражение соответствует всему, в противном случае это звучит немного странно.
Но действительно, в случае полного совпадения два предложения эквивалентны.

...