Показать сообщение отдельно
  #15 (permalink)  
Старый 10.07.2013, 13:14
Профессор
Отправить личное сообщение для lancer Посмотреть профиль Найти все сообщения от lancer
 
Регистрация: 30.01.2008
Сообщений: 230

Сообщение от рони Посмотреть сообщение
это не один символ -- это всё кроме >
Знаю, но не суть, я имел ввиду на A она никак действовать не может, только на один символ или выражение в кдвадратных скобках слева от себя. На один символ/одно выражение в скобках, A под эту звездочку никак не попадает.

Поэтому вопрос про круглые скобки остается(он через один ответ выше).


Еще вопрос про то как жадность проявляется.

text = '1 <A href="#">...</A> 2'
text = text.replace(/<A([^>]*)>/, 'TEST')
alert(text)

Цитата:
При запуске вы увидите, что заменяется не открывающий тэг, а вся ссылка, выражение матчит ее от начала и до конца.

Это происходит из-за того, что точка-звездочка в "жадном" режиме пытается захватить как можно больше, в нашем случае - это как раз до последнего >.
Следуя какой-такой логике она пытается захватить как можно больше >, если выражение [^>], к которому она относится, не ищет >? Но получается в тоже время содержание > в этом выражении и есть причина жадности на символы >?

Последний раз редактировалось lancer, 10.07.2013 в 17:26.
Ответить с цитированием