powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Нобелевская премия за регулярное выражение
6 сообщений из 31, страница 2 из 2
Нобелевская премия за регулярное выражение
    #38767467
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
Cyrax_02Ха. А Вы проверяли, что содержится внутри строки ? Чтобы эту регулярку запихать в строку, нужно правильно слэши расставить.
Покажите Ваш проверочный код. Где и как Вы проверяете ? Не в javascript ли случаем ?
Я проверял
Код: php
1.
2.
3.
4.
$reg = "/\\'(?:\\\\\\'|[^\\'])*\\'/";
$code = '$a = \'555\\\\\'; $b = \'555\\\\\\\'666\';';
preg_match_all($reg,$code,$match);
var_dump($reg,$code,$match);


Результат:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
string(21) "/\'(?:\\\'|[^\'])*\'/"
string(32) "$a = '555\\'; $b = '555\\\'666';"
array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(15) "'555\\'; $b = '"
    [1]=>
    string(5) "'666'"
  }
}
Правильно слеши расставлены?
...
Рейтинг: 0 / 0
Нобелевская премия за регулярное выражение
    #38767714
Cyrax_02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторПравильно слеши расставлены? Неправильно. Нужно вот так:
Код: php
1.
$reg = '/\\\'(?:\\\\\\\'|\\\\\\\\|[^\\\'])*\\\'/';


И будет счастье:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
Array
(
    [0] => Array
        (
            [0] => '555\\'
            [1] => '555\\\'666'
        )

)
...
Рейтинг: 0 / 0
Нобелевская премия за регулярное выражение
    #38767735
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cyrax_02, а универсальную регулярку то как сделать? А то я в $code по паре слешиков добавил - и оно опять сломалось
Код: php
1.
$code = '$a = \'555\\\\\\\'; $b = \'555\\\\\\\\\'666\';';
...
Рейтинг: 0 / 0
Нобелевская премия за регулярное выражение
    #38767741
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой, нет, вру... Это у меня неправильная строка получилась...
...
Рейтинг: 0 / 0
Нобелевская премия за регулярное выражение
    #38767768
Фотография r u
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cyrax_02Неправильно. Нужно вот так:
так это совсем другая регулярка
...
Рейтинг: 0 / 0
Нобелевская премия за регулярное выражение
    #38767795
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вложенное в несколько уровней экранирование слешами взрывает мозг :)
Со строкой в кавычках будет хуже - там экранировать можно не только слеш и кавычку
Код: php
1.
$var = "t\123u\x48v\11w\xax\\y\"z";
...
Рейтинг: 0 / 0
6 сообщений из 31, страница 2 из 2
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Нобелевская премия за регулярное выражение
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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