Как найти что означает знак

Во время серфинга в Интернете (или даже в автономном режиме) вы, вероятно, встретите множество символов. Некоторые из них являются обычными, но для других вам, вероятно, понадобится помощь в идентификации символа.

К счастью, в Интернете есть множество ресурсов по идентификаторам символов, которые могут вам помочь. Мы покажем вам, как узнать, что означает символ, с помощью различных методов.

1. Определите символы с помощью Symbols.com

Удачно названный Symbols.com – отличное место для начала поиска. Наряду с избранными подборками и категориями на домашней странице вы можете использовать его поисковую систему по символам, чтобы найти то, что вы ищете. Просто введите запрос вверху, и вы увидите соответствующие ему символы.

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

В нижнем левом углу страницы вы увидите раздел « Графический указатель ». Это позволяет искать символ на основе его характеристик. Он предоставляет несколько простых раскрывающихся списков, позволяющих указать, является ли форма открытой или закрытой, имеет ли она цвета, изогнутые ли линии или прямые и т. Д.

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

Если это не поможет, вы можете выполнить поиск по алфавиту, используя буквы в верхней части экрана. Если вы не ищете ничего особенного, кнопка « Случайно» поможет вам узнать что-то новое.

2. Нарисуйте символ, чтобы узнать его значение.

Если вас озадачило то, что вы видели в офлайне, имеет смысл найти символ по картинке. Вы найдете несколько сайтов, которые предлагают функцию рисования символа и узнаете, что он означает.

Один из них – Shapecatcher . Просто нарисуйте символ, который хотите найти, с помощью мыши или сенсорного экрана и нажмите кнопку « Распознать» . Сервис вернет символы, соответствующие вашему рисунку.

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

3. Поиск символов с помощью Google

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

В Chrome, как и в большинстве других браузеров, вы можете легко искать в Google любой текст. Просто выделите его на странице, щелкните правой кнопкой мыши и выберите « Искать в Google по запросу [термин]» . Это откроет новую вкладку с поиском Google по запросу. Если в вашем браузере по какой-то причине этого нет, вы можете просто скопировать символ, как любой другой текст, и вставить его в Google.

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

4. Просмотрите список символов.

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

Если вы не смогли найти искомый символ с помощью любого из вышеперечисленных методов, возможно, вы сможете найти его, просмотрев все символы, поддерживаемые Unicode. Взгляните на список Compart “других символов” Unicode-символов, и вы можете найти тот, который вам интересен. Если вы предпочитаете альтернативу, посмотрите таблицу Unicode-символов .

Конечно, в Юникоде поддерживаются не все символы. Дорожные знаки, религиозные символы и повседневные потребительские символы не входят в его состав. Возможно, вам придется покопаться на странице списка символов в Википедии для поиска таких значков или просмотреть список символов Ancient-Symbols для менее техничных символов.

5. Изучите символы Emoji.

Хотя вы можете утверждать, что с технической точки зрения это не символы, смайлики часто сбивают с толку людей. В конце концов, есть сотни смайлов, которые нужно отслеживать, плюс постоянно появляются изменения в дизайне и новые.

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

Если у вас все еще есть вопросы о символах эмодзи, загляните в Emojipedia . Здесь вы можете искать определенный смайлик, просматривать по категориям и читать новости об эмодзи. Страница каждого смайлика сообщает вам не только его официальное значение, но и то, для чего он часто используется.

Мы завершаем обсуждение раскрытия значений символов упоминанием финансовых символов. Они явно отличаются от символов, упомянутых выше, но они по-прежнему являются символом, который вы можете захотеть найти.

MarketWatch , один из наших любимых финансовых сайтов, позволяющих не отставать от рынка , предлагает удобный инструмент поиска символов. Если вы знаете интересующий вас символ, введите его, чтобы увидеть подробную информацию об этой компании. Если вы не уверены, что это, введите название компании, и вы увидите совпадения для него.

Зайдя на страницу компании, вы можете увидеть все виды данных, такие как тенденции, новости и конкуренты.

Легко узнать, что означает любой символ

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

Между тем, у многих платформ и сервисов есть свои символы, о которых вам также следует знать.

Во время серфинга в Интернете (или даже в автономном режиме) вы, вероятно, сталкивались с множеством символов. Некоторые из них являются общими, но для других вам, вероятно, нужна помощь в определении символа.

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

1. Посетите сайт Symbols.com

Символы Com Поиск

Удачно названный Symbols.com — отличное место для начала поиска. Наряду с избранными подборками и категориями на главной странице, вы можете использовать поисковую систему по символам, чтобы найти то, что вы ищете. Просто введите запрос вверху, и вы увидите символы, которые ему соответствуют.

Прекрасно, если вы хотите найти символ по тексту (например, ищите символ «кошерный»). Но во многих случаях вы увидите символ и удивитесь его значению. К счастью, сайт предлагает другие способы идентификации символа.

В нижнем левом углу страницы вы увидите раздел Графический указатель . Это позволяет вам искать символ на основе его характеристик. Он предоставляет несколько простых раскрывающихся списков, позволяющих указать, является ли фигура открытой или закрытой, имеет ли она цвета, являются ли линии изогнутыми или прямыми и т. П.

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

В противном случае вы можете искать в алфавитном порядке, используя буквы в верхней части экрана. Если вы не ищете что-то конкретное, кнопка Случайный может помочь вам узнать что-то новое.

2. Нарисуйте символ, чтобы узнать его значение

Draw Shapecatcher

Если вы озадачены тем, что вы видели в автономном режиме, имеет смысл найти символ на картинке. Вы найдете несколько сайтов, которые предлагают эту функциональность.

Одним из них является Shapecatcher . Просто нарисуйте символ, который хотите найти, с помощью мыши или сенсорного экрана и нажмите кнопку « Распознать» . Сервис вернет символы, соответствующие вашему рисунку.

Если вы не видите совпадения, нарисуйте его еще раз и попробуйте еще раз. На сайте используются только бесплатные шрифты Unicode, поэтому он может содержать не все возможные символы. Попробуйте Mausr для аналогичной альтернативы, если эта не работает для вас.

3. Поиск символов с помощью Google

Google Symbol Search

Если во время работы в Интернете вы встретите незнакомый значок, вам не нужно беспокоиться о его поиске на сайте с символьным идентификатором. Просто запустите поиск по символам в Google, и вы получите ответ в течение нескольких секунд.

В Chrome, наряду с большинством других браузеров, вы можете легко найти в Google любой текст. Просто выделите его на странице, щелкните правой кнопкой мыши и выберите « Поиск в Google» для «[term]» . Откроется новая вкладка с поиском в Google по этому термину. Если в вашем браузере по какой-то причине этого нет, вы можете просто скопировать символ, как любой другой текст, и вставить его в Google.

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

4. Просмотрите список символов

Сравнение списка символов Unicode

Unicode (стандарт для кодирования текста) поддерживает ряд общих символов, как они могут выглядеть как стандартный текст. Хотя они не имеют специальных клавиш на стандартной клавиатуре, вы можете использовать ALT-коды для ввода символов. вместо этого.

Если вы не можете найти символ, который вы ищете, используя любой из вышеперечисленных методов, вы можете найти его, просматривая все символы, которые поддерживает Unicode. Посмотрите на список Compart «других символов» символов Unicode, и вы можете найти тот, который вас интересует. Если вы предпочитаете альтернативу, посмотрите таблицу символов Unicode .

Конечно, не все символы поддерживаются в Юникоде. Дорожные знаки, религиозные символы и повседневные потребительские символы не являются частью этого. Возможно, вам придется покопаться в странице со списком символов Википедии для таких иконок.

5. Изучите символы эмодзи

Руководство по смайликам

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

Во-первых, мы рекомендуем ознакомиться с нашим руководством по значениям смайликов для лица Это поможет вам освоить некоторые наиболее распространенные из них.

Если у вас все еще есть вопросы по поводу символов эмодзи, загляните в Emojipedia . Здесь вы можете искать определенные эмодзи, просматривать по категориям и читать новости эмодзи. Страница каждого смайлика рассказывает вам не только о его официальном значении, но и о том, для чего он часто используется.

6. Используйте инструмент поиска символов на бирже

MarketWatch Apple Stock

Мы завершаем наше обсуждение открытия значений символов, упоминая финансовые символы. Они явно отличаются от символов, упомянутых выше, но они все еще являются типом символов, которые вы, возможно, захотите найти.

MarketWatch , один из наших любимых финансовых сайтов, чтобы не отставать от рынка , предлагает удобный инструмент поиска символов. Если вы знаете интересующий вас символ, введите его, чтобы узнать подробности об этой компании. Если вы не уверены, что это, введите название компании, и вы увидите совпадения для него.

После того как вы попали на страницу компании, вы можете увидеть все виды данных, такие как тренды, новости и конкуренты.

Знание значения любого символа

Теперь вы знаете, куда обращаться, когда сталкиваетесь с незнакомым символом. Будь то быстрый поиск в Google или поиск чего-то, что вы видели в автономном режиме, вам не нужно догадываться, что означают эти значки.

У Facebook есть свой набор символов, которые вы можете не понять. Если это так, взгляните на наш справочник по многим символам

Содержание

  1. 6 способов найти символы и узнать их значения
  2. 1. Определите символы с помощью Symbols.com
  3. 2. Нарисуйте символ, чтобы узнать его значение.
  4. 3. Поиск символов с помощью Google
  5. 4. Просмотрите список символов.
  6. 5. Изучите символы Emoji.
  7. 6. Используйте средство поиска символов биржевых тикеров.
  8. Легко узнать, что означает любой символ
  9. Значение слова «символ»
  10. си́мвол
  11. Топ-25: самые распространенные символы и их значение

6 способов найти символы и узнать их значения

Во время серфинга в Интернете (или даже в автономном режиме) вы, вероятно, встретите множество символов. Некоторые из них являются обычными, но для других вам, вероятно, понадобится помощь в идентификации символа.

К счастью, в Интернете есть множество ресурсов по идентификаторам символов, которые могут вам помочь. Мы покажем вам, как узнать, что означает символ, с помощью различных методов.

1. Определите символы с помощью Symbols.com

Удачно названный Symbols.com – отличное место для начала поиска. Наряду с избранными подборками и категориями на домашней странице вы можете использовать его поисковую систему по символам, чтобы найти то, что вы ищете. Просто введите запрос вверху, и вы увидите соответствующие ему символы.

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

В нижнем левом углу страницы вы увидите раздел « Графический указатель ». Это позволяет искать символ на основе его характеристик. Он предоставляет несколько простых раскрывающихся списков, позволяющих указать, является ли форма открытой или закрытой, имеет ли она цвета, изогнутые ли линии или прямые и т. Д.

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

Если это не поможет, вы можете выполнить поиск по алфавиту, используя буквы в верхней части экрана. Если вы не ищете ничего особенного, кнопка « Случайно» поможет вам узнать что-то новое.

2. Нарисуйте символ, чтобы узнать его значение.

Если вас озадачило то, что вы видели в офлайне, имеет смысл найти символ по картинке. Вы найдете несколько сайтов, которые предлагают функцию рисования символа и узнаете, что он означает.

Один из них – Shapecatcher . Просто нарисуйте символ, который хотите найти, с помощью мыши или сенсорного экрана и нажмите кнопку « Распознать» . Сервис вернет символы, соответствующие вашему рисунку.

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

3. Поиск символов с помощью Google

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

В Chrome, как и в большинстве других браузеров, вы можете легко искать в Google любой текст. Просто выделите его на странице, щелкните правой кнопкой мыши и выберите « Искать в Google по запросу [термин]» . Это откроет новую вкладку с поиском Google по запросу. Если в вашем браузере по какой-то причине этого нет, вы можете просто скопировать символ, как любой другой текст, и вставить его в Google.

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

4. Просмотрите список символов.

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

Если вы не смогли найти искомый символ с помощью любого из вышеперечисленных методов, возможно, вы сможете найти его, просмотрев все символы, поддерживаемые Unicode. Взгляните на список Compart «других символов» Unicode-символов, и вы можете найти тот, который вам интересен. Если вы предпочитаете альтернативу, посмотрите таблицу Unicode-символов .

Конечно, в Юникоде поддерживаются не все символы. Дорожные знаки, религиозные символы и повседневные потребительские символы не входят в его состав. Возможно, вам придется покопаться на странице списка символов в Википедии для поиска таких значков или просмотреть список символов Ancient-Symbols для менее техничных символов.

5. Изучите символы Emoji.

Хотя вы можете утверждать, что с технической точки зрения это не символы, смайлики часто сбивают с толку людей. В конце концов, есть сотни смайлов, которые нужно отслеживать, плюс постоянно появляются изменения в дизайне и новые.

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

Если у вас все еще есть вопросы о символах эмодзи, загляните в Emojipedia . Здесь вы можете искать определенный смайлик, просматривать по категориям и читать новости об эмодзи. Страница каждого смайлика сообщает вам не только его официальное значение, но и то, для чего он часто используется.

6. Используйте средство поиска символов биржевых тикеров.

Мы завершаем обсуждение раскрытия значений символов упоминанием финансовых символов. Они явно отличаются от символов, упомянутых выше, но они по-прежнему являются символом, который вы можете захотеть найти.

MarketWatch , один из наших любимых финансовых сайтов, позволяющих не отставать от рынка , предлагает удобный инструмент поиска символов. Если вы знаете интересующий вас символ, введите его, чтобы увидеть подробную информацию об этой компании. Если вы не уверены, что это, введите название компании, и вы увидите совпадения для него.

Зайдя на страницу компании, вы можете увидеть все виды данных, такие как тенденции, новости и конкуренты.

Легко узнать, что означает любой символ

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

Между тем, у многих платформ и сервисов есть свои символы, о которых вам также следует знать.

Источник

Значение слова «символ»

1. Предмет, действие и т. п., служащие условным обозначением какого-л. понятия, идеи. Белый голубь — символ мира.Великая русская река! Она — символ нашей вольности, нашего раздолья и нашего богатства. Новиков-Прибой, Волга. На подзеркальнике стояли полукругом семь слонов — традиционный символ счастья. С. Никитин, Семь слонов.

2. Лит. Художественный образ, условно передающий какую-л. мысль, переживание. [Символисты] стали жертвовать внешней правдой и даже правдоподобностью ради выявления в символе избранной ими идеи. Брюсов, Смысл современной поэзии.

3. Спец. Условное обозначение какой-л. величины, принятое той или иной наукой. Символы химических элементов. Кристаллографические символы.

[От греч. σύμβολον — условный знак, примета]

Источник (печатная версия): Словарь русского языка: В 4-х т. / РАН, Ин-т лингвистич. исследований; Под ред. А. П. Евгеньевой. — 4-е изд., стер. — М.: Рус. яз.; Полиграфресурсы, 1999; (электронная версия): Фундаментальная электронная библиотека

  • Си́мвол (др.-греч. σύμβολον — «(условный) знак, сигнал») — это знак, изображение какого-нибудь предмета или животного, для обозначения качества объекта; условный знак каких-либо понятий, идей, явлений 2.

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

СИ’МВОЛ, (симво́л устар.), а, м. [греч. symbolon — знак, первонач. условный опознавательный знак для членов какой-н. организации, тайного общества]. Предмет или действие, служащее условным знаком чего-н., выражающее, означающее какое-н. понятие, идею. Все грани в природе условны, относительны, подвижны, выражают приближение нашего ума к познанию материи, — но это нисколько не доказывает, чтобы природа, материя сама была символом, условным знаком, т. е. продуктом нашего ума. Ленин. Круг — с. вечности. Пальмовая ветвь — с. мира. || Художественный образ, в к-ром условно выражены идеи и переживания, преимущ. мистические (лит., искус.). ◊

Источник: «Толковый словарь русского языка» под редакцией Д. Н. Ушакова (1935-1940); (электронная версия): Фундаментальная электронная библиотека

си́мвол

1. то, что служит условным знаком какого-либо понятия, явления, идеи ◆ Сокровенные знания называются так не потому, что их скрывают, но потому, что они сами скрыты в символах. В. Я. Брюсов, «Огненный ангел», 1908 г. (цитата из НКРЯ) ◆ У древних осёл — символ мира, а конь — войны, поэтому пророк должен был въехать в Иерусалим на белом осле. Михаил Шишкин, «Венерин волос», 2004 г. // «Знамя» (цитата из НКРЯ)

2. филол. художественный образ, условно передающий какую-либо мысль, переживание ◆ Аллегория, олицетворение и художественный символ очень рано получили широкое развитие в христианском искусстве народов западных. Ф. И. Буслаев, «Повесть о горе и злочастии, как Горе-Злочастие довело молодца во иноческий чин», 1856 г. (цитата из НКРЯ)

3. условное обозначение какой-либо единицы, величины, принятое в науке ◆ Вверху, справа от символа стояла цифра 108. Значит ― 108-й элемент по порядку. А под символом ― цифра 400, взятая в квадратные скобки: так обозначают массовое число наиболее устойчивого изотопа. К. Севастьянова, «Элемент «Копыловий»», 1967 г. // «Химия и жизнь» (цитата из НКРЯ) ◆ Так как концентрация водородных ионов в растворе — величина очень малая, то для удобства пользуются не действительным значением её, а десятичным логарифмом этого числа, взятым с обратным знаком. Этот водородный показатель, по предложению датского химика Серенсена, принято обозначать символом рН (рН — первые буквы от латинских слов pundus Hydrogenium, т. е. вес водорода). И. Вольпер, «Кислота в нашей пище», 1966 г. // «Химия и жизнь» (цитата из НКРЯ)

4. отдельный графический знак в письменности, например буква, цифра или знак препинания ◆ Текст открывал своё пространство по мере осознания смысла каждого символа, каждой буквы в строке. Андрей Балдин, «Московские праздные дни», 1997 г. (цитата из НКРЯ) ◆ В современном китайском письме (байхуа), кроме традиционных символов, широко используются европейские знаки пунктуации. «Китайское письмо» (цитата из Википедии)

5. информ. значение из некого конечного множества (набора, словаря, алфавита), которое можно использовать как одиночный элемент строки; чаще всего — обобщение понятия [4], включающее не только печатные знаки, но и специальные управляющие символы, не имеющие графического представления ◆ Все большее распространение, в частности, в Internet получает кодировка UTF-8, которая позволяет обходиться 8 битами для кодирования символов ASCII и 16 битами для кодирования символов большинства алфавитных письменностей, в частности, русской. В. В. Лидовский, «Современная компьютерная кириллица и структура Unicode», 2004 г. // «Информационные технологии» (цитата из НКРЯ) ◆ Машина Тьюринга представляет собой устройство, состоящее из бесконечной ленты, разбитой на отдельные ячейки, в каждую из которых с помощью специальной подвижной головки может быть записан символ из конечного словаря машины (вполне достаточно нуля и единицы). О. В. Аронсон, «Коммуникативный образ. Кино. Литература. Философия.», Ч. I, 2007 г. (цитата из НКРЯ)

Источник

Топ-25: самые распространенные символы и их значение

Вы когда-нибудь задумывались, как много символов окружает нас в повседневной жизни? Цель любого знака – это передать смысл, сэкономив при этом место для его обозначения. А знаете ли вы истинный смысл всех тех символов, которые постоянно попадаются вам на глаза? Вы сможете проверить это прямо сейчас, прочитав про историю свастики, про происхождение галочки, и еще про многие другие знаки, висящие на улицах и в общественных заведениях по всему миру.

25. Парикмахерская спираль

Фото: Jesse Nandra / flickr

Первоначальное значение символики парикмахерских связано еще со Средневековьем, когда цирюльники были в большей степени хирургами, чем стилистами. Они проводили мелкие медицинские процедуры, начиная с лечения переломов, и заканчивая удалением зубов. Одной из их ключевых обязанностей парикмахеров считалось кровопускание, и именно с этим устаревшим методом врачевания всех болезней и связан внешний вид современной символики. Красные полосы на спирали шеста означают кровь, а белые – чистые бинты.

24. Символ бесконечности

Фото: wikimedia commons

Математическое значение этого знака впервые появилось в 1655 году, когда британский ученый Джон Валлис (John Wallis) впервые использовал рукописную завитушку в своей работе под названием «De Sectionibus Conicis» (трактат о конических сечениях). Валлис никак не объяснил выбор именно такой символики, но считается, что она стала производной от варианта записи числа 1 000 римскими цифрами (CIƆ, CƆ), или значила просто «много».

23. Знак OK

В США символ OK используется, чтобы сообщить, что все в порядке. Однако в некоторых европейских странах этот жест может быть воспринят как оскорбление, ведь там он означает, что вас послали в задницу. В странах Средиземноморья и в Южной Америке этот жест в прямом смысле символизирует анус.

22. Пацифик

Фото: wikimedia commons

Пацифик (или символ мира) состоит из круга, вертикальной линии и 2 коротких диагоналей, и он был придуман убежденным пацифистом Джеральдом Гербертом Холтомом (Gerald Herbert Holtom) 21 февраля 1958 года. Символ стал логотипом марша Комитета прямых действий против атомной войны. Знак был быстро одобрен и перенят западным сообществом хиппи в 1960 годах, а затем распространился и по всему миру. На такой своеобразный чертеж Холтома вдохновила семафорная азбука военных. Художник объединил в своем знаке сигналы N и D, означающих ядерное разоружение. N передается с помощью двух флажков в виде перевернутой буквы V, а D – одним флажком, опущенным вниз, и другим — вверх.

21. Лента, украшенная детальками из головоломок

Фото: wikimedia commons

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

20. Смайлик

Фото: wikimedia commons

Наверное, это самый распространенный в масс-медиа символ, который чаще всех остальных используется на виртуальных площадках для общения и обмена положительными эмоциями. Смайлик был создан в начале 1970-х годов, и долго описывать его нет смысла, ведь тут все просто – это упрощенное изображение улыбающегося лица. Желтый цвет был выбран из-за традиционного цвета солнца на детских рисунках, и этот значок символизирует светящееся и безоблачное счастье.

19. Символ мужского пола

Фото: pixabay

Символ мужчины или организма мужского рода еще известен как «щит и копье Марса». Начертание круга со стремящейся из него стрелой, направленной в верхний правый угол, должно напоминать римского бога войны Марса, который всегда изображался во всеоружии. Вдобавок этим знаком стали обозначать и саму планету Марс, которую также именуют «планетой войны» или «огненной планетой».

18. Символ женского пола

Фото: Flanker

Значок женщины или «зеркало Венеры» – это и астрономический символ планеты Венера, и символ химического элемента медь, и символ женского рода. Существует несколько версий истории происхождения этого рисунка. Согласно одной из них круг призван напоминать нам о всеобъемлющей природе нашей Вселенной, и представляет собой женскую утробу. Крест внизу круга, добавленный в 16 веке, обозначает, что все живое рождено из духовной сферы.

17. Символ переработки отходов

Фото: wikimedia commons

Происхождение этого культового значка связано с проведением первого Дня Земли в апреле 1970 года. В тот год американская картонная компания Container Corporation of America спонсировала национальный конкурс искусства, посвященного проблемам окружающей среды, и заодно поручила студентам дизайнерских факультетов создать символ, означающий процесс переработки картона и бумаги. Студент Гэри Дин Андерсон (Gary Dean Anderson) выиграл конкурс, предоставив комиссии свой эскиз, состоящий из 3 стрел, символизирующих невосполнимые природные ресурсы Земли, которые надо защищать и сохранять для будущих поколений. Стрелы были нарисованы зелеными в честь цвета растительности.

16. Череп и крест-накрест лежащие кости

Фото: Jorg WarX, Manuel Strehl

Знаменитый символ, состоящий из человеческого черепа и 2 костей, впервые появился еще в античные времена, и, что неудивительно, когда-то он означал смерть и бренность бытия. Впоследствии «Адамова голова» или «Мертвая голова» стала все чаще ассоциироваться с морскими пиратами, которые полюбили украшать этим символом свой черный флаг. Сегодня этот знак печатают на контейнерах с ядовитыми и крайне опасными для здоровья и жизни веществами.

15. Символ сердца

Фото: wikimedia commons

В современной культуре этот знак связан с любовью, чувствами и романтическими отношениями, но в прошлом у него был абсолютно другой смысл. В древней Греции форма сердца символизировала сильфий, вид гигантского фенхеля, который когда-то рос на северном побережье Африки неподалеку от греческой колонии Кирена (Cyrene). Греки использовали это растение, чтобы приправлять им пищу, в качестве лекарства и как противозачаточное средство или для стимуляции выкидышей.

14. Символ радиации

Фото: wikimedia commons

Знак радиации, как правило, состоит из желтого треугольника в черной рамке и схематичного изображения черной сферы с лепестками по прямо центру фигуры. Этот символ используется для обозначения источника радиации, контейнеров с радиоактивными материалами и территорий, где эти контейнеры хранятся. Предупреждающий значок появился в 1946 году, и был задуман как схематическое изображение атома и трех видов его излучения (бета, альфа, гамма). Палитра была выбрана не случайно, ведь в природе желтый и черный цвета нередко встречаются в окрасе ядовитых животных и растений.

13. Жест в форме буквы V

Фото: pixabay

Этот популярный жест представлен поднятыми и разведенными в стороны указательным и средним пальцами, в то время как остальные пальцы зажаты в кулак. У символа есть несколько разных значений, включая успех, одобрение, победу, а также презрение и протест.

12. Свастика

Фото: Jorge Láscar / Australia

В Западном мире свастика стала синонимом фашизма из-за того, что немецкие нацисты наносили ее на все свои знамена и флаги. Однако изначально свастика, существовавшая тысячи лет до кровавых войн 20 века, символизировала удачу. В санскрите (древний индийский язык) этот символ и вовсе означал благополучие. Исконно этот знак использовали индусы, буддисты и джайны. Сегодняшние ассоциации со злом надолго перечеркнули положительную суть этого символа, и, возможно, свастике не скоро удастся оправиться от такого удара по ее репутации.

11. Месяц

Фото: pixabay

Месяц – очень распространенный мотив в исламском мире, но его происхождение на самом деле не связано с мусульманством. Месяц красовался на христианских эмблемах много веков тому назад, и на самом деле он является древнейшим символом в истории человечества, поскольку его старейшие начертания датируются по меньшей мере периодом Вавилонской империи (2100 год до нашей эры). Месяц также символизирует не только религиозные смыслы, но и Луну, а иногда и серебро.

10. Галочка

Фото: pixabay

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

9. Символ Bluetooth

Фото: wikimedia commons

Значок Bluetooth связан с древним датским правителем Харальдом Блатандом (Harald Blatand), которого все звали «Синезубым» (Blåtand, blue tooth) за его любовь к чернике и за темные передние зубы. Король викингов прославился тем, что сумел объединить враждовавшие датские племена и создал единое государство.

Сегодня символ ассоциируется с технологией беспроводных сетей Bluetooth, логотип которой был собран из 2 скандинавских рун – Хаглаз (аналог латинской буквы «H») и Беркан (аналог латинской буквы «B»). Вместе они составляют инициалы прославленного Харальда Синезубого.

8. Символ переключателя

Фото: vincentq / Melbourne

Известный символ включения и выключения стал результатом эволюции дизайна пользовательского интерфейса. Изначально большинство пультов управления состояли из отдельных переключателей, работающих для двух состояний – «Вкл» и «Выкл». Позже эти сокращения были заменены цифрами 1 и 0. Чтобы создать одну единственную кнопку, которая бы совмещала в себе оба этих состояния устройства, дизайнеры совместили единицу и ноль, и в итоге появился повсеместно известный значок.

7. Розовая лента

Фото: MesserWoland

С 1979 года розовая лента считается символом рака груди. Изначально эту ленту носили в знак моральной поддержки женщин с этим тяжелым заболеванием, но сегодня она стала символизировать также и здоровье, жизнерадостность и ободрение всех женщин в целом.

6. Символ человека на инвалидной коляске

Фото: wikimedia commons

Квадратная табличка со стилизованным изображением человека на инвалидной коляске – один из самых узнаваемых и понятных символов в мире. Знак был придуман датской студенткой дизайнерского факультета Сьюзэнн Коэфэд (Susanne Koefoed) в 1968 году и ассоциируется с общественными местами, приспособленными под нужды людей с ограниченными физическими возможностями.

5. Знак выхода

Фото: 21jcw

Другой легко узнаваемый международный символ указывает на местонахождение ближайшего аварийного выхода из здания в случае пожара или другой срочной необходимости. Этот знак еще иногда называют «бегущим человеком», а придумал его японский дизайнер Юкио Ота (Yukio Ota) в конце 1970-х годов. Символ вошел в международный обиход уже с 1985 года. Зеленый цвет ассоциируется с безопасностью, так же как и цвет светофора, сигнализирующий о разрешении на движение.

4. Товарный знак

Фото: wikimedia commons

Символ торговой марки указывает на то, что предшествующие ему слово или символ – это товарный знак или знак обслуживания, служащий для индивидуализации товаров, и удостоверенный в соответствующих регистрационных органах страны. Этот символ связан с регламентированием прав на использование товара или марки.

3. Серп и молот

Фото: wikimedia commons

Когда-то серп и молот были самыми узнаваемыми символами и обозначали государственную эмблему СССР, а также ассоциировались с коммунистическим движением. Эти инструменты демонстрировали рабоче-крестьянское единство, в котором молот считался традиционным инвентарем пролетариата, а серп символизировал простых крестьян и урожай. Хотя в европейской религиозной культуре по отдельности молот издавна обозначал агрессивную мужскую силу, а серп – саму смерть.

2. Жезл Асклепия

Фото: pixabay

Жезл Асклепия – это символ, ассоциирующийся с медициной и здравоохранением. Сын бога Аполлона и земной принцессы Корониды, Асклепий был греческим полубогом медицины. Согласно античной мифологии этот герой обладал способностью восстанавливать здоровье больных и воскрешать людей из мертвых. Жезл Асклепия традиционно обвивает змея, потому что древние греки почитали это животное святым и использовали его в ритуалах исцеления.

1. Мальтийский крест

Фото: wikimedia commons

Мальтийский крест чаще всего ассоциируется с рыцарским орденом, управлявшим Мальтийским архипелагом с 1530 по 1798 год. Восьмиконечный крест символизирует 8 обязательств и устремлений рыцарей – жить в истине, иметь веру, исповедовать свои грехи, быть смиренным, любить справедливость, быть милосердным, быть искренним и превозмогать преследования.

Источник

Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 9 марта 2022 года; проверки требуют 23 правки.

В математике повсеместно используются символы для упрощения и сокращения текста. Ниже приведён список наиболее часто встречающихся математических обозначений, соответствующие команды в TeX, объяснения и примеры использования. Список и смысл обозначений соответствует международным стандартам ISO 31-11 и ISO 80000-2[1].

Кроме указанных символов, иногда используются их зеркальные отражения, например, Asubset B обозначает то же, что и Bsupset A.

Знаки операций, или математические символы — знаки, которые символизируют определённые математические действия со своими аргументами.

К самым распространённым относятся:

  • Плюс: +
  • Минус: −
  • Знаки умножения: ×, · (в программировании также *)
  • Знаки деления: :, ∶, /, ∕, ÷
  • Знак равенства, приближённого равенства, неравенства: =, ≈, ≠
  • Знак пропорциональности: ∝
  • Скобки (для определения порядка операций и др.): ( ), [ ], { }
  • Среднее арифметическое:〈 〉, ̅
  • Знак тождественности: ≡
  • Знаки сравнения: <, >, ⩽, ⩾, ≪, ≫
  • Знак порядка (тильда): ~
  • Знак плюс-минус: ±
  • Знак корня (радикал): √
  • Факториал: !
  • Знак интеграла: ∫
  • Знак возведения в степень: ^ (в типографской и рукописной записи формул не применяется; используется в программировании, наряду с более редкими символами ↑ и **, а также в «линейной» текстовой записи формул).

Математическая логика[править | править код]

Символ TeX
(Команда TeX)
Символ (Юникод) Название Значение Пример
Произношение
Rightarrow
(Rightarrow)
rightarrow
(rightarrow)
subset
(subset)

Импликация, следование ARightarrow B означает «если A верно, то B также верно».
(→ может использоваться вместо или для обозначения функции, см. ниже.)
(⊂ может использоваться вместоили для обозначения надмножества, см. ниже.).
{displaystyle x=2Rightarrow x^{2}=4} верно, но {displaystyle x^{2}=4Rightarrow x=2} неверно (так как x=-2 также является решением).
«влечёт» или «если…, то» или «отсюда следует»
Leftrightarrow
(Leftrightarrow)
Равносильность ALeftrightarrow B означает «A верно тогда и только тогда, когда B верно». {displaystyle x+5=y+2Leftrightarrow x+3=y}
«если и только если» или «равносильно»
wedge
(wedge)
Конъюнкция Awedge B истинно тогда и только тогда, когда A и B оба истинны. (n>2)wedge (n<4)Leftrightarrow (n=3), если n — натуральное число.
«и»
vee
(vee)
Дизъюнкция Avee B истинно, когда хотя бы одно из условий A и B истинно. (nleqslant 2)vee (ngeqslant 4)Leftrightarrow nneq 3, если n — натуральное число.
«или»
neg
(neg)
¬ Отрицание neg A истинно тогда и только тогда, когда ложно A. neg (Awedge B)Leftrightarrow (neg A)vee (neg B)
xnotin SLeftrightarrow neg (xin S)
«не»
forall
(forall)
Квантор всеобщности forall x,Pleft(xright) обозначает «Pleft(xright) верно для всех x». forall nin mathbb {N} ,;n^{2}geqslant n
«Для любых», «Для всех», «Для всякого»
exists
(exists)
Квантор существования exists x,;Pleft(xright) означает «существует хотя бы один x такой, что верно Pleft(xright)» exists nin mathbb {N} ,;n+5=2n (подходит число 5)
«существует»
= = Равенство x=y обозначает «x и y принимают одно и то же значение». 1 + 2 = 6 − 3
«равно»
:=

:Leftrightarrow
(

:Leftrightarrow)
{stackrel {rm {def}}{=}}
(stackrel{rm{def}}{=})

:=

:⇔

Определение x:=y означает «x по определению равен y».
P:Leftrightarrow Q означает «P по определению равносильно Q»
{rm {ch}}left(xright):={1 over 2}left(e^{x}+e^{-x}right) (определение гиперболического косинуса)
Aoplus B:Leftrightarrow (Avee B)wedge neg (Awedge B) (определение исключающего «ИЛИ»)
«равно/равносильно по определению»

Теория множеств и теория чисел[править | править код]

Символ TeX
(Команда TeX)
Символ (Юникод) Название Значение Пример
Произношение
{,} { } Множество элементов {a,;b,;c} означает множество, элементами которого являются a, b и c. mathbb {N} ={1,;2,;ldots } (множество натуральных чисел)
«Множество…»
{|} {|} Множество элементов, удовлетворяющих условию {x,|,Pleft(xright)} означает множество всех x таких, что верно Pleft(xright). {nin mathbb {N} ,|,n^{2}<20}={1,;2,;3,;4}
«Множество всех… таких, что верно…»
varnothing
(varnothing)
{}
 

{}

Пустое множество {} и varnothing означают множество, не содержащее ни одного элемента. {nin mathbb {N} ,|,1<n^{2}<4}=varnothing
«Пустое множество»
in
(in)
notin
(notin)

Принадлежность/непринадлежность к множеству ain S означает «a является элементом множества S»
anotin S означает «a не является элементом множества S»
2in mathbb {N}
{1 over 2}notin mathbb {N}
«принадлежит», «из»
«не принадлежит»
subseteq
(subseteq)
subset
(subset)

Подмножество Asubseteq B означает «каждый элемент из A также является элементом из B».
Asubset B обычно означает то же, что и Asubseteq B. Однако некоторые авторы используют subset , чтобы показать строгое включение (то есть subsetneq ).
(Acap B)subseteq A
mathbb {Q} subseteq mathbb {R}
«является подмножеством», «включено в»
{displaystyle supseteq }
(supseteq)
supset
(supset)

Надмножество Asupseteq B означает «каждый элемент из B также является элементом из A».
Asupset B обычно означает то же, что и Asupseteq B. Однако некоторые авторы используют supset , чтобы показать строгое включение (то есть supsetneq ).
(Acup B)supseteq A
mathbb {R} supseteq mathbb {Q}
«является надмножеством», «включает в себя»
subsetneq
(subsetneq)
Собственное подмножество Asubsetneq B означает Asubseteq B и Aneq B. mathbb {N} subsetneq mathbb {Q}
«является собственным подмножеством», «строго включается в»
supsetneq
(supsetneq)
Собственное надмножество Asupsetneq B означает Asupseteq B и Aneq B. mathbb {Q} supsetneq mathbb {N}
«является собственным надмножеством», «строго включает в себя»
cup
(cup)
Объединение Acup B означает множество, содержащее все элементы из A и B Asubseteq BLeftrightarrow Acup B=B
«Объединение … и …», «…, объединённое с …»
cap
(cap)
Пересечение Acap B означает множество одинаковых элементов, принадлежащих и A, и B. {xin mathbb {R} ,|,x^{2}=1}cap mathbb {N} ={1}
«Пересечение … и …», «…, пересечённое с …»
setminus
(setminus)
Разность множеств Asetminus B означает множество элементов, принадлежащих A, но не принадлежащих B. {1,;2,;3,;4}setminus {3,;4,;5,;6}={1,;2}
«разность … и …», «минус», «… без …»
to
(to)
Функция (отображение) fcolon Xto Y означает функцию f с областью определения X и областью значений Y. Функция {displaystyle fcolon mathbb {Z} to mathbb {N} cup {0}}, определённая как fleft(xright)=x^{2}
«из … в …»,
mapsto
(mapsto)
Отображение fcolon xmapsto fleft(xright) означает, что образом x после применения функции f будет fleft(xright). Функцию, определённую как fleft(xright)=x^{2}, можно записать так: fcolon xmapsto x^{2}
«отображается в»
mathbb {N}
(mathbb N)
N или ℕ Натуральные числа mathbb {N} означает множество {1,;2,;3,;ldots } или реже {0,;1,;2,;3,;ldots } (в зависимости от ситуации). {left|aright|,|,ain mathbb {Z} }=mathbb {N}
«Эн»
mathbb {Z}
(mathbb Z)
Z или ℤ Целые числа mathbb {Z} означает множество {ldots ,;-3,;-2,;-1,;0,;1,;2,;3,;ldots } {a,;-a,|,ain mathbb {N} }cup {0}=mathbb {Z}
«Зет»
mathbb {Q}
(mathbb Q)
Q или ℚ Рациональные числа mathbb {Q} означает {displaystyle left{left.{p over q}right|pin mathbb {Z} wedge qin mathbb {N} wedge qneq 0right}} 3,!14in mathbb {Q}
pi notin mathbb {Q}
«Ку»
mathbb {R}
(mathbb R)
R или ℝ Вещественные (действительные) числа mathbb {R} означает множество всех пределов последовательностей из mathbb {Q} pi in mathbb {R}
inotin mathbb {R} (i — мнимая единица: i^{2}=-1)
«Эр»
mathbb {C}
(mathbb C)
C или ℂ Комплексные числа mathbb {C} означает множество {a+bcdot i,|,ain mathbb {R} wedge bin mathbb {R} } iin mathbb {C}
«Це»
mathbb {H}
(mathbb H)
H или mathbb {H} Кватернионы mathbb {H} означает множество {a+bcdot i,+ccdot j,+dcdot k,|,ain mathbb {R} wedge bin mathbb {R} wedge cin mathbb {R} wedge din mathbb {R} } {displaystyle jin mathbb {H} }
«Аш»

Элементарная алгебра и арифметика[править | править код]

Символ TeX
(Команда TeX)
Символ (Юникод) Название Значение Пример
Произношение
+ + Сложение x+y обозначает «сложение x и y»; «прибавить к x число y». 1 + 2 = 3
«Плюс»
- Вычитание x-y обозначает «вычитание из x числа y». 6 − 3 = 3
«Минус»
times cdot

*

×

·

*

Умножение {displaystyle xtimes y} (xcdot y или xy) обозначает «x умножить на y». {displaystyle 2times 4=8}
«Умножить на»
= = Равенство x=y обозначает «x и y принимают одно и то же значение». 1 + 2 = 6 − 3
«равно»
<> <> Сравнение x<y обозначает, что x строго меньше y.

x>y означает, что x строго больше y.

x<yLeftrightarrow y>x
«меньше чем», «больше чем»
leqslant или leq (leqslant или leq)geqslant или geq (geqslant или geq) ⩽ или ≤

⩾ или ≥

Сравнение xleqslant y означает, что x меньше или равен y.

xgeqslant y означает, что x больше или равен y.

xgeqslant 1Rightarrow x^{2}geqslant x
«меньше или равно»; «больше или равно»
approx (approx) Приблизительное равенство eapprox 2,!718 с точностью до 10−3 означает, что 2,718 отличается от e не больше чем на 10−3. pi approx 3,!1415926 с точностью до 10−7.
«приблизительно равно»
{displaystyle propto }(propto) Пропорциональность {displaystyle apropto b} означает, что есть такое число k, что {displaystyle a=kb} (тогда говорят, что k — коэффициент пропорциональности). {displaystyle U(theta )propto e^{-[{frac {pi sigma sin theta }{lambda }}]^{2}}}
«пропорционально»
{sqrt {}}(sqrt{}) Арифметический квадратный корень {sqrt {x}} означает неотрицательное действительное число, которое в квадрате даёт x (равнозначно записи {displaystyle {sqrt[{2}]{x}}}). {sqrt {4}}=2; {sqrt {x^{2}}}=left|xright|
«Корень квадратный из …»

Кубический корень;

корень четвёртой степени

{displaystyle {sqrt[{3}]{y}}=x}, если {displaystyle x^{3}=y} (то есть {displaystyle xcdot xcdot x=y} );

{displaystyle {sqrt[{4}]{b}}=a}, если {displaystyle a^{4}=b} (аналогично {displaystyle acdot acdot acdot a=b}).

{displaystyle {sqrt[{3}]{27}}=3};

{displaystyle {sqrt[{4}]{16}}=2}.

infty (infty) Бесконечность +infty и -infty суть элементы расширенного множества действительных чисел. Эти символы обозначают числа, большие/меньшие всех действительных чисел. lim limits _{xto 0}{1 over left|xright|}=infty
«Плюс/минус бесконечность»

Общая алгебра[править | править код]

Символ TeX
(Команда TeX)
Символ (Юникод) Название Значение Пример
Произношение
{displaystyle triangleleft } Нормальная подгруппа, идеал кольца Htriangleleft G означает «H является нормальной подгруппой группы G», если G — группа, и «H является (двусторонним) идеалом кольца G», если G — кольцо.
«нормальна в», «… является идеалом …»
{displaystyle [,:,]} [ : ] Индекс подгруппы, размерность поля [G:H] означает «индекс подгруппы H в группе G», если G — группа, и «размерность поля H над полем G», если G и H — поля.
«индекс … в …», «размерность … над …»
times × Прямое произведение групп Gtimes H означает «прямое произведение групп G и H».
«прямое произведение … и …»
oplus Прямая сумма подпространств {displaystyle V=V_{1}oplus V_{2}} означает «пространство V разлагается в прямую сумму подпространств V_{1} и V_{2}».
«прямая сумма … и …»
{displaystyle [,,,]} [ , ] Коммутатор элементов группы {displaystyle [g,,h]} означает «коммутатор элементов g и h группы G», то есть элемент ghg^{{-1}}h^{{-1}}.
«коммутатор … и …»
G^{prime } G’ Коммутант G^{prime } означает «коммутант группы G».
«коммутант …»
{displaystyle langle  rangle _{n}} ⟨ ⟩n Циклическая группа {displaystyle langle arangle _{n}} означает «циклическая группа порядка n, порождённая элементом a».
«Циклическая группа порядка n, порождённая a»
* * Мультипликативная группа поля {displaystyle F^{*}} означает «мультипликативная группа поля F», если F — поле.
«мультипликативная группа …»

Линейная алгебра[править | править код]

Символ TeX
(Команда TeX)
Символ (Юникод) Название Значение Пример
Произношение
otimes Тензорное произведение {displaystyle T_{1}otimes T_{2}} означает «тензорное произведение тензоров T_{1} и T_{2}».
«тензорное произведение … и …»
A^{T} AT Транспонированная матрица A^{T} означает «транспонированная матрица A».
«транспонированная матрица …»
{displaystyle E_{i,,j}} Ei, j Матричная единица {displaystyle E_{i,,j}} означает «матричная i,;j-единица», то есть матрица, у которой на месте (i,;j) стоит единица, а на остальных местах — нули.
«матричная единица …»
* * Сопряжённый оператор

Сопряжённое пространство

{displaystyle {mathcal {A}}^{*}} означает «линейный оператор, сопряжённый к {mathcal {A}}», если {mathcal {A}} — линейный оператор.

{displaystyle V^{*}} означает «линейное пространство, сопряжённое к V (дуальное к V)», если V — линейное пространство.

«оператор, сопряжённый к …»; «пространство, сопряжённое к …»;

Анализ[править | править код]

Символ TeX
(Команда TeX)
Символ (Юникод) Название Значение Пример
Произношение
infty (infty) Бесконечность +infty и -infty суть элементы расширенного множества действительных чисел. Эти символы обозначают числа, большие/меньшие всех действительных чисел. lim limits _{xto 0}{1 over left|xright|}=infty
«Плюс/минус бесконечность»
int dx(int dx) Интеграл int limits _{a}^{b}fleft(xright),dx означает «интеграл от a до b функции f от x по переменной x». int limits _{0}^{b}x^{2},dx={frac {b^{3}}{3}};int x^{2},dx={frac {x^{3}}{3}}+C
«Интеграл (от … до …) функции … по (или d)…»
{begin{aligned}&{frac {df}{dx}}\&f'left(xright),\end{aligned}} df/dx

f'(x)

Производная {frac {df}{dx}} или f'left(xright) означает «(первая) производная функции f от x по переменной x». {frac {dcos x}{dx}}=-sin x
«Производная … по …»
{frac {partial fleft(x,y,z,ldots right)}{partial y}}(partial для ∂) ∂f/∂y Частная производная {frac {partial fleft(x,y,z,ldots right)}{partial y}} означает «(первая) частная производная функции f от переменных x,y,z,ldots по переменной y». {displaystyle {begin{aligned}&{frac {partial }{partial y}}left(x^{2}cos xyright)=\&=left.{frac {d}{dy}}left(x^{2}cos xyright)right|_{x,=,mathrm {const} }\&=-x^{3}sin xy\end{aligned}}}
«Частная производная … по …»
{begin{aligned}&{frac {d^{n}f}{dx^{n}}}\&f^{left(nright)}left(xright),\end{aligned}} dnf/dxn

f(n)(x)

Производная n-го порядка {frac {d^{n}f}{dx^{n}}} или {displaystyle f^{left(nright)}left(xright)} означает «n-я производная функции f по переменной x» (при втором способе записи, если n — фиксированное число, то оно пишется либо арабскими цифрами в круглых скобках, либо римскими цифрами без скобок) {displaystyle cos ^{IV}x={frac {d^{4}cos x}{dx^{4}}}=cos x}.
«n-я производная … по …»

Другое[править | править код]

Символ TeX
(Команда TeX)
Символ (Юникод) Название Значение Пример
Произношение
left|;right|(left| right|) | | Абсолютная величина (абсолютное значение) числа или длина (модуль) вектора. В контексте теории множеств может иметь другой смысл — мощность множества left|xright| обозначает абсолютную величину x.

|A| обозначает мощность множества A и равняется, если A конечно, числу элементов A.

left|a+b iright|={sqrt {a^{2}+b^{2}}}
«Модуль»; «мощность»
Числа и Теория множеств
sum (sum) Сумма (набора чисел), сумма ряда sum _{k=1}^{n}a_{k} означает «сумма a_{k}, где k принимает значения от 1 до n», то есть a_{1}+a_{2}+ldots +a_{n}.

sum _{k=1}^{infty }a_{k} означает сумму ряда, состоящего из a_{k}.

{displaystyle sum _{k=1}^{4}k^{2}={displaystyle 1^{2}+2^{2}+3^{2}+4^{2}}{displaystyle =30}}
«Сумма … по … от … до …»
Арифметика, Математический анализ
prod (prod) Произведение (набора чисел), произведение ряда prod _{k=1}^{n}a_{k} означает «произведение a_{k} для всех k от 1 до n», то есть a_{1}cdot a_{2}cdot ldots cdot a_{n} {displaystyle prod _{k=1}^{4}(k+2)=3cdot 4cdot 5cdot 6=360}
«Произведение … по … от … до …»
Арифметика, Математический анализ
! ! Факториал n! означает произведение всех натуральных чисел от 1 до n включительно, то есть 1cdot 2cdot ldots cdot n n!=prod _{k=1}^{n}k=(n-1)!n;

0!=1;

5!=1cdot 2cdot 3cdot 4cdot 5=120;

«n факториал»
Комбинаторика

См. также[править | править код]

  • Таблица обозначений абстрактной алгебры
  • История математических обозначений
  • Список математических аббревиатур
  • Список обозначений в физике

Примечания[править | править код]

  1. ISO 80000-2:2019 Архивная копия от 13 апреля 2021 на Wayback Machine.

Литература[править | править код]

  • Выгодский М. Я. Справочник по элементарной математике. — М.: АСТ, 2003. — ISBN 5-17-009554-6.

Ссылки[править | править код]

  • Арифметические знаки // Энциклопедический словарь Брокгауза и Ефрона : в 86 т. (82 т. и 4 доп.). — СПб., 1890—1907.

Регулярные выражения (их еще называют regexp, или regex) — это механизм для поиска и замены текста. В строке, файле, нескольких файлах… Их используют разработчики в коде приложения, тестировщики в автотестах, да просто при работе в командной строке!

Чем это лучше простого поиска? Тем, что позволяет задать шаблон.

Например, на вход приходит дата рождения в формате ДД.ММ.ГГГГГ. Вам надо передать ее дальше, но уже в формате ГГГГ-ММ-ДД. Как это сделать с помощью простого поиска? Вы же не знаете заранее, какая именно дата будет.

А регулярное выражение позволяет задать шаблон «найди мне цифры в таком-то формате».

Для чего применяют регулярные выражения?

  1. Удалить все файлы, начинающиеся на test (чистим за собой тестовые данные)

  2. Найти все логи

  3. grep-нуть логи

  4. Найти все даты

А еще для замены — например, чтобы изменить формат всех дат в файле. Если дата одна, можно изменить вручную. А если их 200, проще написать регулярку и подменить автоматически. Тем более что регулярные выражения поддерживаются даже простым блокнотом (в Notepad++ они точно есть).

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

Содержание

  1. Где пощупать

  2. Поиск текста

  3. Поиск любого символа

  4. Поиск по набору символов

  5. Перечисление вариантов

  6. Метасимволы

  7. Спецсимволы

  8. Квантификаторы (количество повторений)

  9. Позиция внутри строки

  10. Использование ссылки назад

  11. Просмотр вперед и назад

  12. Замена

  13. Статьи и книги по теме

  14. Итого

Где пощупать

Любое регулярное выражение из статьи вы можете сразу пощупать. Так будет понятнее, о чем речь в статье — вставили пример из статьи, потом поигрались сами, делая шаг влево, шаг вправо. Где тренироваться:

  1. Notepad++ (установить Search Mode → Regular expression)

  2. Regex101 (мой фаворит в онлайн вариантах)

  3. Myregexp

  4. Regexr

Инструменты есть, теперь начнём

Поиск текста

Самый простой вариант регэкспа. Работает как простой поиск — ищет точно такую же строку, как вы ввели.

Текст: Море, море, океан

Regex: море

Найдет: Море, море, океан

Выделение курсивом не поможет моментально ухватить суть, что именно нашел regex, а выделить цветом в статье я не могу. Атрибут BACKGROUND-COLOR не сработал, поэтому я буду дублировать регулярки текстом (чтобы можно было скопировать себе) и рисунком, чтобы показать, что именно regex нашел:

Обратите внимание, нашлось именно «море», а не первое «Море». Регулярные выражения регистрозависимые!

Хотя, конечно, есть варианты. В JavaScript можно указать дополнительный флажок i, чтобы не учитывать регистр при поиске. В блокноте (notepad++) тоже есть галка «Match case». Но учтите, что это не функция по умолчанию. И всегда стоит проверить, регистрозависимая ваша реализация поиска, или нет.

А что будет, если у нас несколько вхождений искомого слова?

Текст: Море, море, море, океан

Regex: море

Найдет: Море, море, море, океан

По умолчанию большинство механизмов обработки регэкспа вернет только первое вхождение. В JavaScript есть флаг g (global), с ним можно получить массив, содержащий все вхождения.

А что, если у нас искомое слово не само по себе, это часть слова? Регулярное выражение найдет его:

Текст: Море, 55мореон, океан

Regex: море

Найдет: Море, 55мореон, океан

Это поведение по умолчанию. Для поиска это даже хорошо. Вот, допустим, я помню, что недавно в чате коллега рассказывала какую-то историю про интересный баг в игре. Что-то там связанное с кораблем… Но что именно? Уже не помню. Как найти?

Если поиск работает только по точному совпадению, мне придется перебирать все падежи для слова «корабль». А если он работает по включению, я просто не буду писать окончание, и все равно найду нужный текст:

Regex: корабл

Найдет:

На корабле

И тут корабль

У корабля

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

Поиск любого символа

. — найдет любой символ (один).

Текст:

Аня

Ася

Оля

Аля

Валя

Regex: А.я

Результат:

Аня

Ася

Оля

Аля

Валя

Символ «.» заменяет 1 любой символ

Символ «.» заменяет 1 любой символ

Точка найдет вообще любой символ, включая цифры, спецсисимволы, даже пробелы. Так что кроме нормальных имен, мы найдем и такие значения:

А6я

А&я

А я

Учтите это при поиске! Точка очень удобный символ, но в то же время очень опасный — если используете ее, обязательно тестируйте получившееся регулярное выражение. Найдет ли оно то, что нужно? А лишнее не найдет?

Точку точка тоже найдет!

Regex: file.

Найдет:

file.txt

file1.txt

file2.xls

Но что, если нам надо найти именно точку? Скажем, мы хотим найти все файлы с расширением txt и пишем такой шаблон:

Regex: .txt

Результат:

file.txt

log.txt

file.png

1txt.doc

one_txt.jpg

Да, txt файлы мы нашли, но помимо них еще и «мусорные» значения, у которых слово «txt» идет в середине слова. Чтобы отсечь лишнее, мы можем использовать позицию внутри строки (о ней мы поговорим чуть дальше).

Но если мы хотим найти именно точку, то нужно ее заэкранировать — то есть добавить перед ней обратный слеш:

Regex: .txt

Результат:

file.txt

log.txt

file.png

1txt.doc

one_txt.jpg

Также мы будем поступать со всеми спецсимволами. Хотим найти именно такой символ в тексте? Добавляем перед ним обратный слеш.

Правило поиска для точки:

. — любой символ

. — точка

Поиск по набору символов

Допустим, мы хотим найти имена «Алла», «Анна» в списке. Можно попробовать поиск через точку, но кроме нормальных имен, вернется всякая фигня:

Regex: А..а

Результат:

Анна

Алла

аоикА74арплт

Аркан

А^&а

Абба

Если же мы хотим именно Анну да Аллу, вместо точки нужно использовать диапазон допустимых значений. Ставим квадратные скобки, а внутри них перечисляем нужные символы:

Regex: А[нл][нл]а

Результат:

Анна

Алла

аоикА74арплт

Аркан

А^&а

Абба

Вот теперь результат уже лучше! Да, нам все еще может вернуться «Анла», но такие ошибки исправим чуть позже.

Как работают квадратные скобки? Внутри них мы указываем набор допустимых символов. Это может быть перечисление нужных букв, или указание диапазона:

[нл] — только «н» и «л»

[а-я] — все русские буквы в нижнем регистре от «а» до «я» (кроме «ё»)

[А-Я]    — все заглавные русские буквы

[А-Яа-яЁё]  — все русские буквы

[a-z]  — латиница мелким шрифтом

[a-zA-Z]  — все английские буквы

[0-9]  — любая цифра

[В-Ю]   — буквы от «В» до «Ю» (да, диапазон — это не только от А до Я)

[А-ГО-Р]   — буквы от «А» до «Г» и от «О» до «Р»

Обратите внимание — если мы перечисляем возможные варианты, мы не ставим между ними разделителей! Ни пробел, ни запятую — ничего.

[абв] — только «а», «б» или «в»

[а б в] — «а», «б», «в», или пробел (что может привести к нежелательному результату)

[а, б, в] — «а», «б», «в», пробел или запятая

Единственный допустимый разделитель — это дефис. Если система видит дефис внутри квадратных скобок — значит, это диапазон:

  • Символ до дефиса — начало диапазона

  • Символ после — конец

Один символ! Не два или десять, а один! Учтите это, если захотите написать что-то типа [1-31]. Нет, это не диапазон от 1 до 31, эта запись читается так:

  • Диапазон от 1 до 3

  • И число 1

Здесь отсутствие разделителей играет злую шутку с нашим сознанием. Ведь кажется, что мы написали диапазон от 1 до 31! Но нет. Поэтому, если вы пишете регулярные выражения, очень важно их тестировать. Не зря же мы тестировщики! Проверьте то, что написали! Особенно, если с помощью регулярного выражения вы пытаетесь что-то удалить =)) Как бы не удалили лишнее…

Указание диапазона вместо точки помогает отсеять заведомо плохие данные:

Regex: А.я или А[а-я]я

Результат для обоих:

Аня

Ася

Аля

Результат для «А.я»:

А6я

А&я

А я

^ внутри [] означает исключение:

[^0-9]  — любой символ, кроме цифр

[^ёЁ]  — любой символ, кроме буквы «ё»

[^а-в8]  — любой символ, кроме букв «а», «б», «в» и цифры 8

Например, мы хотим найти все txt файлы, кроме разбитых на кусочки — заканчивающихся на цифру:

Regex: [^0-9].txt

Результат:

file.txt

log.txt

file_1.txt

1.txt

Так как квадратные скобки являются спецсимволами, то их нельзя найти в тексте без экранирования:

Regex: fruits[0]

Найдет: fruits0

Не найдет: fruits[0]

Это регулярное выражение говорит «найди мне текст «fruits», а потом число 0». Квадратные скобки не экранированы — значит, внутри будет набор допустимых символов.

Если мы хотим найти именно 0-левой элемент массива фруктов, надо записать так:

Regex: fruits[0]

Найдет: fruits[0]

Не найдет: fruits0

А если мы хотим найти все элементы массива фруктов, мы внутри экранированных квадратных скобок ставим неэкранированные!

Regex: fruits[[0-9]]

Найдет:

fruits[0] = “апельсин”;

fruits[1] = “яблоко”;

fruits[2] = “лимон”;

Не найдет:

cat[0] = “чеширский кот”;

Конечно, «читать» такое регулярное выражение становится немного тяжело, столько разных символов написано…

Без паники! Если вы видите сложное регулярное выражение, то просто разберите его по частям. Помните про основу эффективного тайм-менеджмента? Слона надо есть по частям.

Допустим, после отпуска накопилась гора писем. Смотришь на нее и сразу впадаешь в уныние:

— Ууууууу, я это за день не закончу!

Проблема в том, что груз задачи мешает работать. Мы ведь понимаем, что это надолго. А большую задачу делать не хочется… Поэтому мы ее откладываем, беремся за задачи поменьше. В итоге да, день прошел, а мы не успели закончить.

А если не тратить время на размышления «сколько времени это у меня займет», а сосредоточиться на конкретной задаче (в данном случае — первом письме из стопки, потом втором…), то не успеете оглянуться, как уже всё разгребли!

Разберем по частям регулярное выражение — fruits[[0-9]]

Сначала идет просто текст — «fruits».

Потом обратный слеш. Ага, он что-то экранирует.

Что именно? Квадратную скобку. Значит, это просто квадратная скобка в моем тексте — «fruits[»

Дальше снова квадратная скобка. Она не экранирована — значит, это набор допустимых значений. Ищем закрывающую квадратную скобку.

Нашли. Наш набор: [0-9]. То есть любое число. Но одно. Там не может быть 10, 11 или 325, потому что квадратные скобки без квантификатора (о них мы поговорим чуть позже) заменяют ровно один символ.

Пока получается: fruits[«любое однозназначное число»

Дальше снова обратный слеш. То есть следующий за ним спецсимвол будет просто символом в моем тексте.

А следующий символ — ]

Получается выражение: fruits[«любое однозназначное число»]

Наше выражение найдет значения массива фруктов! Не только нулевое, но и первое, и пятое… Вплоть до девятого:

Regex: fruits[[0-9]]

Найдет:

fruits[0] = “апельсин”;

fruits[1] = “яблоко”;

fruits[9] = “лимон”;

Не найдет:

fruits[10] = “банан”;

fruits[325] = “ абрикос ”;

Как найти вообще все значения массива, см дальше, в разделе «квантификаторы».

А пока давайте посмотрим, как с помощью диапазонов можно найти все даты.

Какой у даты шаблон? Мы рассмотрим ДД.ММ.ГГГГ:

  • 2 цифры дня

  • точка

  • 2 цифры месяца

  • точка

  • 4 цифры года

Запишем в виде регулярного выражения: [0-9][0-9].[0-9][0-9].[0-9][0-9][0-9][0-9].

Напомню, что мы не можем записать диапазон [1-31]. Потому что это будет значить не «диапазон от 1 до 31», а «диапазон от 1 до 3, плюс число 1». Поэтому пишем шаблон для каждой цифры отдельно.

В принципе, такое выражение найдет нам даты среди другого текста. Но что, если с помощью регулярки мы проверяем введенную пользователем дату? Подойдет ли такой regexp?

Давайте его протестируем! Как насчет 8888 года или 99 месяца, а?

Regex: [0-9][0-9].[0-9][0-9].[0-9][0-9][0-9][0-9]

Найдет:

01.01.1999

05.08.2015

Тоже найдет:

08.08.8888

99.99.2000

Попробуем ограничить:

  • День месяца может быть максимум 31 — первая цифра [0-3]

  • Максимальный месяц 12 — первая цифра [01]

  • Год или 19.., или 20.. — первая цифра [12], а вторая [09]

Вот, уже лучше, явно плохие данные регулярка отсекла. Надо признать, она отсечет довольно много тестовых данных, ведь обычно, когда хотят именно сломать, то фигачат именно «9999» год или «99» месяц…

Однако если мы присмотримся внимательнее к регулярному выражению, то сможем найти в нем дыры:

Regex: [0-3][0-9].[0-1][0-9].[12][09][0-9][0-9]

Не найдет:

08.08.8888

99.99.2000

Но найдет:

33.01.2000

01.19.1999

05.06.2999

Мы не можем с помощью одного диапазона указать допустимые значения. Или мы потеряем 31 число, или пропустим 39. И если мы хотим сделать проверку даты, одних диапазонов будет мало. Нужна возможность перечислить варианты, о которой мы сейчас и поговорим.

Перечисление вариантов

Квадратные скобки [] помогают перечислить варианты для одного символа. Если же мы хотим перечислить слова, то лучше использовать вертикальную черту — |.

Regex: Оля|Олечка|Котик

Найдет:

Оля

Олечка

Котик

Не найдет:

Оленька

Котенка

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

Regex: А(н|л)я

Найдет:

Аня

Аля

Круглые скобки обозначают группу символов. В этой группе у нас или буква «н», или буква «л». Зачем нужны скобки? Показать, где начинается и заканчивается группа. Иначе вертикальная черта применится ко всем символам — мы будем искать или «Ан», или «ля»:

Regex: Ан|ля

Найдет:

Аня

Аля

Оля

Малюля

А если мы хотим именно «Аня» или «Аля», то перечисление используем только для второго символа. Для этого берем его в скобки.

Эти 2 варианта вернут одно и то же:

  • А(н|л)я

  • А[нл]я

Но для замены одной буквы лучше использовать [], так как сравнение с символьным классом выполняется проще, чем обработка группы с проверкой на все её возможные модификаторы.

Давайте вернемся к задаче «проверить введенную пользователем дату с помощью регулярных выражений». Мы пробовали записать для дня диапазон [0-3][0-9], но он пропускает значения 33, 35, 39… Это нехорошо!

Тогда распишем ТЗ подробнее. Та-а-а-ак… Если первая цифра:

  • 0 — вторая может от 1 до 9 (даты 00 быть не может)

  • 1, 2 — вторая может от 0 до 9

  • 3 — вторая только 0 или 1

Составим регулярные выражения на каждый пункт:

  • 0[1-9]

  • [12][0-9]

  • 3[01]

А теперь осталось их соединить в одно выражение! Получаем: 0[1-9]|[12][0-9]|3[01]

По аналогии разбираем месяц и год. Но это остается вам для домашнего задания =)

Потом, когда распишем регулярки отдельно для дня, месяца и года, собираем все вместе:

(<день>).(<месяц>).(<год>)

Обратите внимание — каждую часть регулярного выражения мы берем в скобки. Зачем? Чтобы показать системе, где заканчивается выбор. Вот смотрите, допустим, что для месяца и года у нас осталось выражение:

[0-1][0-9].[12][09][0-9][0-9]

Подставим то, что написали для дня:

0[1-9]|[12][0-9]|3[01].[0-1][0-9].[12][09][0-9][0-9]

Как читается это выражение?

  • ИЛИ   0[1-9]

  • ИЛИ   [12][0-9]

  • ИЛИ    3[01].[0-1][0-9].[12][09][0-9][0-9]

Видите проблему? Число «19» будет считаться корректной датой. Система не знает, что перебор вариантов | закончился на точке после дня. Чтобы она это поняла, нужно взять перебор в скобки. Как в математике, разделяем слагаемые.

Так что запомните — если перебор идет в середине слова, его надо взять в круглые скобки!

Regex: А(нн|лл|лин|нтонин)а

Найдет:

Анна

Алла

Алина

Антонина

Без скобок:

Regex: Анн|лл|лин|нтонина

Найдет:

Анна

Алла

Аннушка

Кукулинка

Итого, если мы хотим указать допустимые значения:

  • Одного символа — используем []

  • Нескольких символов или целого слова — используем |

Метасимволы

Если мы хотим найти число, то пишем диапазон [0-9].

Если букву, то [а-яА-ЯёЁa-zA-Z].

А есть ли другой способ?

Есть! В регулярных выражениях используются специальные метасимволы, которые заменяют собой конкретный диапазон значений:

Символ

Эквивалент

Пояснение

d

[0-9]

Цифровой символ

D

[^0-9]

Нецифровой символ

s

[ fnrtv]

Пробельный символ

S

[^ fnrtv]

Непробельный символ

w

[[:word:]]

Буквенный или цифровой символ или знак подчёркивания

W

[^[:word:]]

Любой символ, кроме буквенного или цифрового символа или знака подчёркивания

.

Вообще любой символ

Это самые распространенные символы, которые вы будете использовать чаще всего. Но давайте разберемся с колонкой «эквивалент». Для d все понятно — это просто некие числа. А что такое «пробельные символы»? В них входят:

Символ

Пояснение

Пробел

r

Возврат каретки (Carriage return, CR)

n

Перевод строки (Line feed, LF)

t

Табуляция (Tab)

v

Вертикальная табуляция (vertical tab)

f

Конец страницы (Form feed)

[b]

Возврат на 1 символ (Backspace)

Из них вы чаще всего будете использовать сам пробел и перевод строки — выражение «rn». Напишем текст в несколько строк:

Первая строка

Вторая строка

Для регулярного выражения это:

Первая строкаrnВторая строка

А вот что такое backspace в тексте? Как его можно увидеть вообще? Это же если написать символ и стереть его. В итоге символа нет! Неужели стирание хранится где-то в памяти? Но тогда это было бы ужасно, мы бы вообще ничего не смогли найти — откуда нам знать, сколько раз текст исправляли и в каких местах там теперь есть невидимый символ [b]?

Выдыхаем — этот символ не найдет все места исправления текста. Просто символ backspace — это ASCII символ, который может появляться в тексте (ASCII code 8, или 10 в octal). Вы можете «создать» его, написать в консоли браузера (там используется JavaScript):

console.log("abcbbdef");

Результат команды:

adef

Мы написали «abc», а потом стерли «b» и «с». В итоге пользователь в консоли их не видит, но они есть. Потому что мы прямо в коде прописали символ удаления текста. Не просто удалили текст, а прописали этот символ. Вот такой символ регулярное выражение  [b] и найдет.

См также:

What’s the use of the [b] backspace regex? — подробнее об этом символе

Но обычно, когда мы вводим s, мы имеем в виду пробел, табуляцию, или перенос строки.

Ок, с этими эквивалентами разобрались. А что значит [[:word:]]? Это один из способов заменить диапазон. Чтобы запомнить проще было, написали значения на английском, объединив символы в классы. Какие есть классы:

Класс символов

Пояснение

[[:alnum:]]

Буквы или цифры: [а-яА-ЯёЁa-zA-Z0-9]

[[:alpha:]]

Только буквы: [а-яА-ЯёЁa-zA-Z]

[[:digit:]]

Только цифры: [0-9]

[[:graph:]]

Только отображаемые символы (пробелы, служебные знаки и т. д. не учитываются)

[[:print:]]

Отображаемые символы и пробелы

[[:space:]]

Пробельные символы [ fnrtv]

[[:punct:]]

Знаки пунктуации: ! ” # $ % & ‘ ( ) * + , -. / : ; < = > ? @ [ ] ^ _ ` { | }

[[:word:]]

Буквенный или цифровой символ или знак подчёркивания: [а-яА-ЯёЁa-zA-Z0-9_]

Теперь мы можем переписать регулярку для проверки даты, которая выберет лишь даты формата ДД.ММ.ГГГГГ, отсеяв при этом все остальное:

[0-9][0-9].[0-9][0-9].[0-9][0-9][0-9][0-9]

dd.dd.dddd

Согласитесь, через метасимволы запись посимпатичнее будет =))

Спецсимволы

Большинство символов в регулярном выражении представляют сами себя за исключением специальных символов:

[ ] / ^ $ . | ? * + ( ) { }

Эти символы нужны, чтобы обозначить диапазон допустимых значений или границу фразы, указать количество повторений, или сделать что-то еще. В разных типах регулярных выражений этот набор различается (см «разновидности регулярных выражений»).

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

Regex: 2^2 = 4

Найдет: 2^2 = 4

Можно экранировать целую последовательность символов, заключив её между Q и E (но не во всех разновидностях).

Regex: Q{кто тут?}E

Найдет: {кто тут?}

Квантификаторы (количество повторений)

Усложняем задачу. Есть некий текст, нам нужно вычленить оттуда все email-адреса. Например:

  • test@mail.ru

  • olga31@gmail.com

  • pupsik_99@yandex.ru

Как составляется регулярное выражение? Нужно внимательно изучить данные, которые мы хотим получить на выходе, и составить по ним шаблон. В email два разделителя — собачка «@» и точка «.».

Запишем ТЗ для регулярного выражения:

  • Буквы / цифры / _

  • Потом @

  • Снова буквы / цифры / _

  • Точка

  • Буквы

Так, до собачки у нас явно идет метасимвол «w», туда попадет и просто текст (test), и цифры (olga31), и подчеркивание (pupsik_99). Но есть проблема — мы не знаем, сколько таких символов будет. Это при поиске даты все ясно — 2 цифры, 2 цифры, 4 цифры. А тут может быть как 2, так и 22 символа.

И тут на помощь приходят квантификаторы — так называют специальные символы в регулярных выражениях, которые указывают количество повторений текста.

Символ «+» означает «одно или более повторений», это как раз то, что нам надо! Получаем: w+@

После собачки и снова идет w, и снова от одного повторения. Получаем: w+@w+.

После точки обычно идут именно символы, но для простоты можно снова написано w. И снова несколько символов ждем, не зная точно сколько. Итого получилось выражение, которое найдет нам email любой длины:

Regex: w+@w+.w+

Найдет:

test@mail.ru

olga31@gmail.com

pupsik_99_and_slonik_33_and_mikky_87_and_kotik_28@yandex.megatron

Какие есть квантификаторы, кроме знака «+»?

Квантификатор

Число повторений

?

Ноль или одно

*

Ноль или более

+

Один или более

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

Regex: .*dd.dd.dddd.*

Найдет:

01.01.2000

Приходи на ДР 09.08.2015! Будет весело!

Но будьте осторожны! Если использовать «.*» повсеместно, можно получить много ложноположительных срабатываний:

Regex: .*@.*..*

Найдет:

test@mail.ru

olga31@gmail.com

pupsik_99@yandex.ru

Но также найдет:

@yandex.ru

test@.ru

test@mail.

Уж лучше w, и плюсик вместо звездочки.

А вот есть мы хотим найти все лог-файлы, которые нумеруются — log, log1, log2… log133, то * подойдет хорошо:

Regex: logd*.txt

Найдет:

log.txt

log1.txt

log2.txt

log3.txt

log33.txt

log133.txt

А знак вопроса (ноль или одно повторение) поможет нам найти людей с конкретной фамилией — причем всех, и мужчин, и женщин:

Regex: Назина?

Найдет:

Назин

Назина

Если мы хотим применить квантификатор к группе символов или нескольким словам, их нужно взять в скобки:

Regex: (Хихи)*(Хаха)*

Найдет:

ХихиХаха

ХихиХихиХихи

Хихи

Хаха

ХихиХихиХахаХахаХаха

(пустота — да, её такая регулярка тоже найдет)

Квантификаторы применяются к символу или группе в скобках, которые стоят перед ним.

А что, если мне нужно определенное количество повторений? Скажем, я хочу записать регулярное выражение для даты. Пока мы знаем только вариант «перечислить нужный метасимвол нужное количество раз» — dd.dd.dddd.

Ну ладно 2-4 раза повторение идет, а если 10? А если повторить надо фразу? Так и писать ее 10 раз? Не слишком удобно. А использовать * нельзя:

Regex: d*.d*.d*

Найдет:

.0.1999

05.08.20155555555555555

03444.025555.200077777777777777

Чтобы указать конкретное количество повторений, их надо записать внутри фигурных скобок:

Квантификатор

Число повторений

{n}

Ровно n раз

{m,n}

От m до n включительно

{m,}

Не менее m

{,n}

Не более n

Таким образом, для проверки даты можно использовать как перечисление d n раз, так и использование квантификатора:

dd.dd.dddd

d{2}.d{2}.d{4}

Обе записи будут валидны. Но вторая читается чуть проще — не надо самому считать повторения, просто смотрим на цифру.

Не забывайте — квантификатор применяется к последнему символу!

Regex: data{2}

Найдет: dataa

Не найдет: datadata

Или группе символов, если они взяты в круглые скобки:

Regex: (data){2}

Найдет: datadata

Не найдет: dataa

Так как фигурные скобки используются в качестве указания количества повторений, то, если вы ищете именно фигурную скобку в тексте, ее надо экранировать:

Regex: x{3}

Найдет: x{3}

Иногда квантификатор находит не совсем то, что нам нужно.

Regex: <.*>

Ожидание:

<req>
<query>Ан</query>
<gender>FEMALE</gender>

Реальность:

<req> <query>Ан</query> <gender>FEMALE</gender></req>

Мы хотим найти все теги HTML или XML по отдельности, а регулярное выражение возвращает целую строку, внутри которой есть несколько тегов.

Напомню, что в разных реализациях регулярные выражения могут работать немного по разному. Это одно из отличий — в некоторых реализациях квантификаторам соответствует максимально длинная строка из возможных. Такие квантификаторы называют жадными.

Если мы понимаем, что нашли не то, что хотели, можно пойти двумя путями:

  1. Учитывать символы, не соответствующие желаемому образцу

  2. Определить квантификатор как нежадный (ленивый, англ. lazy) — большинство реализаций позволяют это сделать, добавив после него знак вопроса.

Как учитывать символы? Для примера с тегами можно написать такое регулярное выражение:

<[^>]*>

Оно ищет открывающий тег, внутри которого все, что угодно, кроме закрывающегося тега «>», и только потом тег закрывается. Так мы не даем захватить лишнее. Но учтите, использование ленивых квантификаторов может повлечь за собой обратную проблему — когда выражению соответствует слишком короткая, в частности, пустая строка.

Жадный

Ленивый

*

*?

+

+?

{n,}

{n,}?

Есть еще и сверхжадная квантификация, также именуемая ревнивой. Но о ней почитайте в википедии =)

Позиция внутри строки

По умолчанию регулярные выражения ищут «по включению».

Regex: арка

Найдет:

арка

чарка

аркан

баварка

знахарка

Это не всегда то, что нам нужно. Иногда мы хотим найти конкретное слово.

Если мы ищем не одно слово, а некую строку, проблема решается в помощью пробелов:

Regex: Товар №d+ добавлен в корзину в dd:dd

Найдет: Товар №555 добавлен в корзину в 15:30

Не найдет: Товарный чек №555 добавлен в корзину в 15:30

Или так:

Regex: .* арка .*

Найдет: Триумфальная арка была…

Не найдет: Знахарка сегодня…

А что, если у нас не пробел рядом с искомым словом? Это может быть знак препинания: «И вот перед нами арка.», или «…арка:».

Если мы ищем конкретное слово, то можно использовать метасимвол b, обозначающий границу слова. Если поставить метасимвол с обоих концов слова, мы найдем именно это слово:

Regex: bаркаb

Найдет:

арка

Не найдет:

чарка

аркан

баварка

знахарка

Можно ограничить только спереди — «найди все слова, которые начинаются на такое-то значение»:

Regex: bарка

Найдет:

арка

аркан

Не найдет:

чарка

баварка

знахарка

Можно ограничить только сзади —  «найди все слова, которые заканчиваются на такое-то значение»:

Regex: аркаb

Найдет:

арка

чарка

баварка

знахарка

Не найдет:

аркан

Если использовать метасимвол B, он найдем нам НЕ-границу слова:

Regex: BакрB

Найдет:

закройка

Не найдет:

акр

акрил

Если мы хотим найти конкретную фразу, а не слово, то используем следующие спецсимволы:

^ — начало текста (строки)

$ — конец текста (строки)

Если использовать их, мы будем уверены, что в наш текст не закралось ничего лишнего:

Regex: ^Я нашел!$

Найдет:

Я нашел!

Не найдет:

Смотри! Я нашел!

Я нашел! Посмотри!

Итого метасимволы, обозначающие позицию строки:

Символ

Значение

b

граница слова

B

Не граница слова

^

начало текста (строки)

$

конец текста (строки)

Использование ссылки назад

Допустим, при тестировании приложения вы обнаружили забавный баг в тексте — дублирование предлога «на»: «Поздравляем! Вы прошли на на новый уровень». А потом решили проверить, есть ли в коде еще такие ошибки.

Разработчик предоставил файлик со всеми текстами. Как найти повторы? С помощью ссылки назад. Когда мы берем что-то в круглые скобки внутри регулярного выражения, мы создаем группу. Каждой группе присваивается номер, по которому к ней можно обратиться.

Regex: [ ]+(w+)[ ]+1

Текст: Поздравляем! Вы прошли на на новый уровень. Так что что улыбаемся и и машем.

Разберемся, что означает это регулярное выражение:

[ ]+ → один или несколько пробелов, так мы ограничиваем слово. В принципе, тут можно заменить на метасимвол b.

(w+) → любой буквенный или цифровой символ, или знак подчеркивания. Квантификатор «+» означает, что символ должен идти минимум один раз. А то, что мы взяли все это выражение в круглые скобки, говорит о том, что это группа. Зачем она нужна, мы пока не знаем, ведь рядом с ней нет квантификатора. Значит, не для повторения. Но в любом случае, найденный символ или слово — это группа 1.

[ ]+ → снова один или несколько пробелов.

1 → повторение группы 1. Это и есть ссылка назад. Так она записывается в JavaScript-е.

Важно: синтаксис ссылок назад очень зависит от реализации регулярных выражений.

ЯП

Как обозначается ссылка назад

JavaScript

vi

Perl

$

PHP

$matches[1]

Java

Python

group[1]

C#

match.Groups[1]

Visual Basic .NET

match.Groups(1)

Для чего еще нужна ссылка назад? Например, можно проверить верстку HTML, правильно ли ее составили? Верно ли, что открывающийся тег равен закрывающемуся?

Напишите выражение, которое найдет правильно написанные теги:

<h2>Заголовок 2-ого уровня</h2>
<h3>Заголовок 3-ого уровня</h3>

Но не найдет ошибки:

<h2>Заголовок 2-ого уровня</h3>

Просмотр вперед и назад

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

Представление

Вид просмотра

Пример

Соответствие

(?=шаблон)

Позитивный просмотр вперёд

Блюдо(?=11)

Блюдо1

Блюдо11

Блюдо113

Блюдо511

(?!шаблон)

Негативный просмотр вперёд (с отрицанием)

Блюдо(?!11)

Блюдо1

Блюдо11

Блюдо113

Блюдо511

(?<=шаблон)

Позитивный просмотр назад

(?<=Ольга )Назина

Ольга Назина

Анна Назина

(?шаблон)

Негативный просмотр назад (с отрицанием)

(см ниже на рисунке)

Ольга Назина

Анна Назина

Замена

Важная функция регулярных выражений — не только найти текст, но и заменить его на другой текст! Простейший вариант замены — слово на слово:

RegEx: Ольга

Замена: Макар

Текст был: Привет, Ольга!

Текст стал: Привет, Макар!

Но что, если у нас в исходном тексте может быть любое имя? Вот что пользователь ввел, то и сохранилось. А нам надо на Макара теперь заменить. Как сделать такую замену? Через знак доллара. Давайте разберемся с ним подробнее.

Знак доллара в замене — обращение к группе в поиске. Ставим знак доллара и номер группы. Группа — это то, что мы взяли в круглые скобки. Нумерация у групп начинается с 1.

RegEx: (Оля) + Маша

Замена: $1

Текст был: Оля + Маша

Текст стал: Оля

Мы искали фразу «Оля + Маша» (круглые скобки не экранированы, значит, в искомом тексте их быть не должно, это просто группа). А замнили ее на первую группу — то, что написано в первых круглых скобках, то есть текст «Оля».

Это работает и когда искомый текст находится внутри другого:

RegEx: (Оля) + Маша

Замена: $1

Текст был: Привет, Оля + Маша!

Текст стал: Привет, Оля!

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

RegEx: (Оля) + (Маша)

Замена: $2 – $1

Текст был: Оля + Маша

Текст стал: Маша — Оля

Теперь вернемся к нашей задаче — есть строка приветствия «Привет, кто-то там!», где может быть написано любое имя (даже просто числа вместо имени). Мы это имя хотим заменить на «Макар».

Нам надо оставить текст вокруг имени, поэтому берем его в скобки в регулярном выражении, составляя группы. И переиспользуем в замене:

RegEx: ^(Привет, ).*(!)$

Замена: $1Макар$2

Текст был (или или):

Привет, Ольга!

Привет, 777!

Текст стал:

Привет, Макар!

Давайте разберемся, как работает это регулярное выражение.

^ — начало строки.

Дальше скобка. Она не экранирована — значит, это группа. Группа 1. Поищем для нее закрывающую скобку и посмотрим, что входит в эту группу. Внутри группы текст «Привет, »

После группы идет выражение «.*» — ноль или больше повторений чего угодно. То есть вообще любой текст. Или пустота, она в регулярку тоже входит.

Потом снова открывающаяся скобка. Она не экранирована — ага, значит, это вторая группа. Что внутри? Внутри простой текст — «!».

И потом символ $ — конец строки.

Посмотрим, что у нас в замене.

$1 — значение группы 1. То есть текст «Привет, ».

Макар — просто текст. Обратите внимание, что мы или включает пробел после запятой в группу 1, или ставим его в замене после «$1», иначе на выходе получим «Привет,Макар».

$2 — значение группы 2, то есть текст «!»

Вот и всё!

А что, если нам надо переформатировать даты? Есть даты в формате ДД.ММ.ГГГГ, а нам нужно поменять формат на ГГГГ-ММ-ДД.

Регулярное выражение для поиска у нас уже есть — «d{2}.d{2}.d{4}». Осталось понять, как написать замену. Посмотрим внимательно на ТЗ:

ДД.ММ.ГГГГ

ГГГГ-ММ-ДД

По нему сразу понятно, что нам надо выделить три группы. Получается так: (d{2}).(d{2}).(d{4})

В результате у нас сначала идет год — это третья группа. Пишем: $3

Потом идет дефис, это просто текст: $3-

Потом идет месяц. Это вторая группа, то есть «$2». Получается: $3-$2

Потом снова дефис, просто текст: $3-$2-

И, наконец, день. Это первая группа, $1. Получается: $3-$2-$1

Вот и всё!

RegEx: (d{2}).(d{2}).(d{4})

Замена: $3-$2-$1

Текст был:

05.08.2015

01.01.1999

03.02.2000

Текст стал:

2015-08-05

1999-01-01

2000-02-03

Другой пример — я записываю в блокнот то, что успела сделать за цикл в 12 недель. Называется файлик «done», он очень мотивирует! Если просто вспоминать «что же я сделал?», вспоминается мало. А тут записал и любуешься списком.

Вот пример улучшалок по моему курсу для тестировщиков:

  1. Сделала сообщения для бота — чтобы при выкладке новых тем писал их в чат

  2. Фолкс — поправила статью «Расширенный поиск», убрала оттуда про пустой ввод при простом поиске, а то путал

  3. Обновила кусочек про эффект золушки (переписывала под ютуб)

И таких набирается штук 10-25. За один цикл. А за год сколько? Ух! Вроде небольшие улучшения, а набирается прилично.

Так вот, когда цикл заканчивается, я пишу в блог о своих успехах. Чтобы вставить список в блог, мне надо удалить нумерацию — тогда я сделаю ее силами блоггера и это будет смотреться симпатичнее.

Удаляю с помощью регулярного выражения:

RegEx: d+. (.*)

Замена: $1

Текст был:

1. Раз

2. Два

Текст стал:

Раз

Два

Можно было бы и вручную. Но для списка больше 5 элементов это дико скучно и уныло. А так нажал одну кнопочку в блокноте — и готово!

Так что регулярные выражения могут помочь даже при написании статьи =)

Статьи и книги по теме

Книги

Регулярные выражения 10 минут на урок. Бен Форта — Очень рекомендую! Прям шикарная книга, где все просто, доступно, понятно. Стоит 100 рублей, а пользы море.

Статьи

Вики — https://ru.wikipedia.org/wiki/Регулярные_выражения. Да, именно ее вы будете читать чаще всего. Я сама не помню наизусть все метасимволы. Поэтому, когда использую регулярки, гуглю их, википедия всегда в топе результатов. А сама статья хорошая, с табличками удобными.

Регулярные выражения для новичков — https://tproger.ru/articles/regexp-for-beginners/

Итого

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

  1. Найти все нужные файлы в папке.

  2. Grep-нуть логи — отсечь все лишнее и найти только ту информацию, которая вам сейчас интересна.

  3. Проверить по базе, нет ли явно некорректных записей — не остались ли тестовые данные в продакшене? Не присылает ли смежная система какую-то фигню вместо нормальных данных?

  4. Проверить данные чужой системы, если она выгружает их в файл.

  5. Выверить файлик текстов для сайта — нет ли там дублирования слов?

  6. Подправить текст для статьи.

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

Не забывайте о шутке: «У разработчика была одна проблема и он стал решать ее с помощью регулярных выражений. Теперь у него две проблемы». Бывает и так, безусловно. Как и с любым другим кодом.

Поэтому, если вы пишете регулярку, обязательно ее протестируйте! Особенно, если вы ее пишете в паре с командой rm (удаление файлов в linux). Сначала проверьте, правильно ли отрабатывает поиск, а потом уже удаляйте то, что нашли.

Регулярное выражение может не найти то, что вы ожидали. Или найти что-то лишнее. Особенно если у вас идет цепочка регулярок. Думаете, это так легко — правильно написать регулярку? Попробуйте тогда решить задачку от Егора или вот эти кроссворды =)

PS — больше полезных статей ищите в моем блоге по метке «полезное». А полезные видео — на моем youtube-канале

Добавить комментарий