powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Регулярное выражение волняетс не так, как должно.
2 сообщений из 2, страница 1 из 1
Регулярное выражение волняетс не так, как должно.
    #34950058
last_elf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую!

Если создать html файл и записать туда следующий яваскипт-код, то он будет работать некорректно (как мне кажется):

Код: plaintext
1.
2.
3.
4.
5.
6.
var regSelPart = new RegExp("(.*?)((?:(?:\s*<[^>]+>\s*)*)\s*)code123(.*)code123(\s*(?:(?:\s*<[^>]+>)*))(.*)", "ig");
var res=regSelPart.exec('Привет! code123Выcode123 <n>  <v> пей</b> чаю.');

alert('='+res[ 1 ]+'=');
alert('='+res[ 2 ]+'=');
alert('='+res[ 3 ]+'=');

Нужно поделить строчку на куски

Привет! <b><i> code123Выcode123 <n> <v> пей</b> чаю.
1)Привет!
2)_(пробелы + теги)
3)Вы
4)...

Почему-то в 1) после "привет" идет еще пробел, хотя его не должно быть! Он должен быть в начале 2).

Если воспользоваться тренажером регулярки на http://www.pcre.ru/eval то там все сработает правильно. Точно так же правильно работает и в PHP
Код: plaintext
1.
2.
3.
<?php
preg_match_all("/^(.*?)((?:(?:\s*<[^>]+>\s*)*)\s*)code123(.*)code123(\s*(?:(?:\s*<[^>]+>)*))(.*)$/","Привет! code123Выcode123 <n>  <v> пей</b> чаю.",$arr);
var_dump($arr);
?>
...
Рейтинг: 0 / 0
Регулярное выражение волняетс не так, как должно.
    #34950449
last_elf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выяснилось, что если строку передаешь в вызов констуктора RegExp, то надо экранировать все спецсимволы. Вот так работает:
Код: plaintext
var regSelPart = new RegExp("(.*?)((?:(?:\\s*<[^>]+>\\s*)*)\\s*)code123(.*)code123(\\s*(?:(?:\\s*<[^>]+>)*))(.*)", "ig");
Тема закрыта.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Регулярное выражение волняетс не так, как должно.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]