Показать сообщение отдельно
  #7 (permalink)  
Старый 27.07.2012, 16:48
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Сообщение от xintrea Посмотреть сообщение
А почему она ловит пустую строку? Я в регулярке вижу только выборку всей строки.
Символ * в регулярке означает повторить подвыражение 0 или более количество раз. Данном случае выражение . (точка) повторилось 0 раз, и .* словило пустую строку. Если подвыражение нужно повторить 1 или более раз, то следует использовать символ + (плюс).
Например, если использовать регулярку на пустой строке
alert(JSON.stringify("".match(/(.*)/g)));

то получается 1 выборка - пустая строка.
В вашем случае получается 2 выборки - вся исходная строка и пустая подстрока с индекса, равному длине исходной строки.
alert(JSON.stringify('<span class="bold js-clone-url-permission">Read+Write</span> access'.match(/(.*)/g)));

Последний раз редактировалось oneguy, 27.07.2012 в 17:00.
Ответить с цитированием