Перейти к содержимому

Как поставить слэш в другую сторону

  • автор:

Как поставить слэш в другую сторону

Argument ‘Topic id’ is null or empty

Сейчас на форуме

© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru

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

ООО «Планета Эксел»
ИНН 7735603520
ОГРН 1147746834949
ИП Павлов Николай Владимирович
ИНН 633015842586
ОГРНИП 310633031600071

Как поставить слэш в другую сторону

«Гло́кая ку́здра ште́ко будлану́ла бо́кра и курдя́чит бокрёнка» ♂Продам лунный грунт. Предоплата. Самовывоз. ©♂

EX_VIK посетитель 31.07.12 12:10
NEW 31.07.12 12:10
в ответ Intermodal 31.07.12 09:23

А на клаве калькулятора не покатит? Не утверждаю, дома проверю, но вроде у меня нем язык и англ и проблем не замечал.

NightWatch коренной житель 31.07.12 12:47

NightWatch

NEW 31.07.12 12:47
в ответ EX_VIK 31.07.12 12:10, Последний раз изменено 31.07.12 12:48 (NightWatch)
В ответ на: но вроде у меня нем язык и англ и проблем не замечал.
Ты на линуксе что ли?
project33 коренной житель 31.07.12 13:11

project33

NEW 31.07.12 13:11
в ответ R0B0T 31.07.12 12:00
В ответ на: пару раз видел лапти в котором отсутствовала правая Alt

Alt Gr можно заменить комбинацией клавиш Strg+Alt
Продвижение сайтов, реклама: https://www.pro33.net
0Alexander0 патриот 02.08.12 11:36
NEW 02.08.12 11:36
в ответ project33 31.07.12 13:11
В ответ на: Alt Gr можно заменить комбинацией клавиш Strg+Alt

Не знал, попробовал — так и есть. Как только на русский клаву переключаю — не работает не тот не другой вариант. У меня есть данная кнопка.

Если Чебурашку положить на асфальт и обвести мелом, получится очень неприличная фигура. Протёр пыль с телевизора. Оказывается он у меня цветной!

NightWatch коренной житель 02.08.12 11:42

NightWatch

NEW 02.08.12 11:42
в ответ 0Alexander0 02.08.12 11:36
В ответ на: Как только на русский клаву переключаю — не работает
А какой символ ты пытаешься набрать с Alt Gr (Strg+Alt) на русской клавиатуре?
EX_VIK посетитель 02.08.12 11:47
NEW 02.08.12 11:47
в ответ NightWatch 31.07.12 12:47
Именно на ноуте Ubuntu.
0Alexander0 патриот 02.08.12 11:53
NEW 02.08.12 11:53
в ответ NightWatch 02.08.12 11:42
В ответ на: А какой символ ты пытаешься набрать с Alt Gr (Strg+Alt) на русской клавиатуре?

Да этот обратный слеш и пробовал, о котором тема, ну и сейчас все остальные из верхнего (цифрового) ряда перепробовал — никакой не идёт, также и те что в алфавитных рядах справа не идёт. Да это не проблема, это я так к теме, раскладка на русском другая — нету там этих знаков, может где-то в другом месте есть, да мне легче на немецкий переключить если что-то из них нужно, чем искать где-то. Тот же вопросительный знак например знаю что на цифре 7 находится, двоеточие на 6, ну и ещё некоторые, чем часто пользуюсь то наизусть знаю, а то что может раз в пару месяцев нужно — то переключить, секундное дело.

Если Чебурашку положить на асфальт и обвести мелом, получится очень неприличная фигура. Протёр пыль с телевизора. Оказывается он у меня цветной!

Экранирование, специальные символы

Как мы уже видели, обратная косая черта \ используется для обозначения классов символов, например \d . Это специальный символ в регулярных выражениях (как и в обычных строках).

Есть и другие специальные символы, которые имеют особое значение в регулярном выражении. Они используются для более сложных поисковых конструкций. Вот полный перечень этих символов: [ ] \ ^ $ . | ? * + ( ) .

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

Экранирование символов

Допустим, мы хотим найти буквально точку. Не «любой символ», а именно точку.

Чтобы использовать специальный символ как обычный, добавьте к нему обратную косую черту: \. .

Это называется «экранирование символа».

alert( "Глава 5.1".match(/\d\.\d/) ); // 5.1 (совпадение!) alert( "Глава 511".match(/\d\.\d/) ); // null ("\." - ищет обычную точку)

Круглые скобки также являются специальными символами, поэтому, если нам нужно использовать именно их, нужно указать \( . В приведённом ниже примере ищется строка «g()» :

alert( "function g()".match(/g\(\)/) ); // "g()"

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

alert( "1\\2".match(/\\/) ); // '\'

Косая черта

Символ косой черты ‘/’ , так называемый «слэш», не является специальным символом, но в JavaScript он используется для открытия и закрытия регулярного выражения: /. шаблон. / , поэтому мы должны экранировать его.

Вот как выглядит поиск самой косой черты ‘/’ :

alert( "/".match(/\//) ); // '/'

С другой стороны, если мы не используем короткую запись /. / , а создаём регулярное выражение, используя new RegExp , тогда нам не нужно экранировать косую черту:

alert( "/".match(new RegExp("/")) ); // находит /

new RegExp

Если мы создаём регулярное выражение с помощью new RegExp , то нам не нужно учитывать / , но нужно другое экранирование.

Например, такой поиск не работает:

let regexp = new RegExp("\d\.\d"); alert( "Глава 5.1".match(regexp) ); // null

Аналогичный поиск в примере выше с /\d\.\d/ вполне работал, почему же не работает new RegExp(«\d\.\d») ?

Причина в том, что символы обратной косой черты «съедаются» строкой. Как вы помните, обычные строки имеют свои специальные символы, такие как \n , и для экранирования используется обратная косая черта.

Вот как воспринимается строка «\d.\d»:

alert("\d\.\d"); // d.d

Строковые кавычки «съедают» символы обратной косой черты для себя, например:

  • \n – становится символом перевода строки,
  • \u1234 – становится символом Юникода с указанным номером,
  • …А когда нет особого значения: как например для \d или \z , обратная косая черта просто удаляется.

Таким образом, new RegExp получает строку без обратной косой черты. Вот почему поиск не работает!

Чтобы исправить это, нам нужно удвоить обратную косую черту, потому что строковые кавычки превращают \\ в \ :

let regStr = "\\d\\.\\d"; alert(regStr); // \d\.\d (теперь правильно) let regexp = new RegExp(regStr); alert( "Глава 5.1".match(regexp) ); // 5.1

Итого

  • Для поиска специальных символов [ ] \ ^ $ . | ? * + ( ) , нам нужно добавить перед ними \ («экранировать их»).
  • Нам также нужно экранировать / , если мы используем /. / (но не new RegExp ).
  • При передаче строки в new RegExp нужно удваивать обратную косую черту: \\ для экранирования специальных символов, потому что строковые кавычки «съедят» одну черту.

на телефоне нет символа backslash, только slash. нужна возможность копирования символа из тренинга..

какой телефон? на андроид символ обратного слэш находится обычно во втором меню символов, т.е. переходишь в меню символов (может выглядеть ?12 или @?#) и нажимаешь еще раз, до следующих символов 😉 на iphone насколько помню также

2nd Aug 2016, 9:01 AM

8th Aug 2016, 7:23 AM

Иван Легков

Often have questions like this?

Learn more efficiently, for free:

Introduction to Python 7.1M learners

Introduction to Java 4.7M learners

Introduction to C 1.5M learners

Introduction to HTML 7.5M learners

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *