Регулярные выражения и Javascript

#javascript #regex

#javascript #регулярное выражение

Вопрос:

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

 var re = new RegExp("(^|\s)"   classname   "(\s|$)");
  

Я понимаю, что s — это символ пробела; курсор означает «начинающийся с». Чего я не понимаю, так это символа канала…

Как приведенное выше выражение переводится на английский?

С уважением,

Ответ №1:

Выражение (^|s) представляет собой чередование. Это означает «либо начало строки, либо символ пробела». Аналогично (s|$) означает «либо конец строки, либо символ пробела».

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

Комментарии:

1. Большое спасибо за этот быстрый и актуальный ответ!

Ответ №2:

| Символ в регулярном выражении javascript означает « or «.

Вы можете ознакомиться с полезным списком здесь: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/RegExp#Special_characters_in_regular_expressions Это было указано на потрясающем сайте тестирования регулярных выражений javascript regexpal.com

Ответ №3:

| Средства или около того —

Сопоставьте начало строки (^) или символ пробела

Сопоставьте значение classname переменной

Сопоставьте символ пробела или конец строки ($)