Сообщение от 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)));