|
|
|
RegExp & lastIndex
|
|||
|---|---|---|---|
|
#18+
Можно ли как-то повторно использовать шаблон регулярки в яваскрипте не натыкаясь на подобную хрень, когда один раз поиск проходит нормально, а второй раз нет. var regSelPart = new RegExp("(.*)CODE123(.*)CODE123(.*)", "ig"); alert(regSelPart.test('some CODE123 text CODE123 below')); alert(regSelPart.test('some CODE123 text CODE123 below')); Первый алерт здесь даст true, а второй - false! Решение проблемы-то я нашел - писать каждый раз после любых действий с шаблоном: regSelPart.lastIndex=0; Но есть ли более элегантный и надежный способ? А то часто забываешь, что обязательно lastIndex надо поставить в ноль, да и код от этого страдает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2007, 19:33 |
|
||
|
RegExp & lastIndex
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.10.2007, 21:59 |
|
||
|
RegExp & lastIndex
|
|||
|---|---|---|---|
|
#18+
Круто, мы переопределили метод test. А что если необходимо выполнять некие действия с шаблоном с помощью других методов RegExp'a? - например exec(). Или методов объекта string? - the_str.replace(regSelPart, replaced_text); Но это так мысли вслух.. Просто интересно как же по-человечески это стоит программировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 11:33 |
|
||
|
RegExp & lastIndex
|
|||
|---|---|---|---|
|
#18+
Для теста можно просто убрать g ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 12:24 |
|
||
|
RegExp & lastIndex
|
|||
|---|---|---|---|
|
#18+
Проверил - да, можно. Непонятно только почему так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2007, 13:22 |
|
||
|
|

start [/forum/topic.php?fid=22&gotonew=1&tid=1457457]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
162ms |
get topic data: |
10ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 270ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...