1 (изменено: DnsIs, 2010-12-01 14:26:01)

Тема: JS: Как работают .replace и .match?

Почему работает так:

'Съешь ещё этих мягких французских булок, да выпей же чаю'.replace('булок', 'лягушек').match('французских лягушек')

А так не работает?

'Съешь ещё этих мягких французских булок, да выпей же чаю'.match('французских булок').replace('булок', 'лягушек')
Нас невозможно сбить с пути, нам пофигу куда идти.

2 (изменено: jite, 2010-12-01 14:11:15)

Re: JS: Как работают .replace и .match?

И ничего удивительного, ибо match() возвращает массив найденных совпадений. Вот во 2-м примере на этапе array.replace() и падает.

Кстати, не рекомендую пользоваться функциями test() и exec() используя регэкспы с флагом global - глючат. Я чуть позже на эту тему для тех кто не в теме начну отдельную тему.

3 (изменено: DnsIs, 2010-12-01 14:26:29)

Re: JS: Как работают .replace и .match?

Точно. А я ведь знал. Спасибо jite, я видимо не выспался. Нужно так:

'Съешь ещё этих мягких французских булок, да выпей же чаю'.match('французских булок')[0].replace('булок', 'лягушек')

Можно удалять тему.

Нас невозможно сбить с пути, нам пофигу куда идти.

4

Re: JS: Как работают .replace и .match?

jite пишет:

Кстати, не рекомендую пользоваться функциями test() и exec() используя регэкспы с флагом global - глючат. Я чуть позже на эту тему для тех кто не в теме начну отдельную тему.

Хоть я их и не использую, было бы очень интересно почитать.

Нас невозможно сбить с пути, нам пофигу куда идти.