Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.06.2016, 14:29
Новичок на форуме
Отправить личное сообщение для N1kS Посмотреть профиль Найти все сообщения от N1kS
 
Регистрация: 26.04.2015
Сообщений: 3

Пробел в регулярном выражении
Здравствуйте!
Подскажите пожалуйста очередной вопрос по регулярным выраженияим, имеем 2 варианта строки:
name: Bob
и
name:Bob
разница лишь в том, что после "name" пробел может быть, а может и не быть, но нужно получить имя Bob без пробелов, и регулярное выражение типа
/(?:name:\s)/(.+)
не будет работать, если перед "Bob" нет пробела и наоборот. Возможно ли сделать какую-то проверку для определенного символа(в моем случае пробела), то есть проверку на то, что он может присутствовать или не присутствовать.

Заранее спасибо за помощь!
Ответить с цитированием
  #2 (permalink)  
Старый 25.06.2016, 14:45
Аспирант
Посмотреть профиль Найти все сообщения от brexit2000
 
Регистрация: 25.06.2016
Сообщений: 10

ноль и более пробелов
re = /^foo *bar$/
console.log(
  re.test("foobar"),
  re.test("foo bar"),
  re.test("foo     bar")
)




//>>>> true true true

Если не только пробел, а любой пробельный символ, можете использовать метасимвол \s вместо пробела, или перечислите в группе [ \t....]
Ответить с цитированием
  #3 (permalink)  
Старый 25.06.2016, 14:47
Аспирант
Посмотреть профиль Найти все сообщения от brexit2000
 
Регистрация: 25.06.2016
Сообщений: 10

Сообщение от N1kS
не будет работать, если перед "Bob" нет пробела и наоборот
квантификатор * или ?(нет или 1)
Ответить с цитированием
  #4 (permalink)  
Старый 25.06.2016, 14:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

N1kS,
/(?:name:\s*)(.+)/
Ответить с цитированием
  #5 (permalink)  
Старый 25.06.2016, 15:34
Новичок на форуме
Отправить личное сообщение для N1kS Посмотреть профиль Найти все сообщения от N1kS
 
Регистрация: 26.04.2015
Сообщений: 3

Сообщение от brexit2000 Посмотреть сообщение
квантификатор * или ?(нет или 1)
Не могли бы Вы более доступным языком объяснить что делает квантификатор * ? Прочитал на нескольких ресурсах, но не очень понятно.
Ответить с цитированием
  #6 (permalink)  
Старый 25.06.2016, 15:59
Аспирант
Посмотреть профиль Найти все сообщения от brexit2000
 
Регистрация: 25.06.2016
Сообщений: 10

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помощь в регулярном выражении! celkabelka Общие вопросы Javascript 5 13.04.2013 17:53
Как в регулярном выражении обозначается "может быть а может и не быть" ? [MI_nor] Общие вопросы Javascript 4 30.11.2011 21:09
Как в регулярном выражении использовать переменную? avaVusal Общие вопросы Javascript 7 23.08.2011 15:07
количество повторений в регулярном выражении mrWong Общие вопросы Javascript 2 10.02.2010 12:57
Проблема с кавычкой в регулярном выражении bandolero Общие вопросы Javascript 5 31.01.2010 11:37