powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PERL) нужно создать такой regexp
5 сообщений из 5, страница 1 из 1
(PERL) нужно создать такой regexp
    #33389847
Гость2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно создать следующий regexp

$reg="aaa|ddd|sss";

в regexp записываеть следующее:

if($line=~/^(.*)($n_reg)(.*)$/i){
что то там делать
}

Подстроки находятся как нужно, возник такой вопрос, точнее не вопрос а факт, если

$reg="baa|аа";
if($line=~/^(.*)($n_reg)(.*)$/i){
что то там делать
}

Эта штука найдет тока подстроку aa, не смотря на то, что она проверяется уже после. Все таки хотелось бы получить подстроку baa

Если кто нить знает как мне помочь - буду рада выслушать :)
Дело в том, что я не очень хорошо составляю regexp'ы, поэтому мне кажется, что такие вещи можно как то сделать.
...
Рейтинг: 0 / 0
(PERL) нужно создать такой regexp
    #33390065
Гость2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Т.е. мне нужно как то так использовать эту строку в Regexp, что как тока она находит первое значение из ...|..|...|... дальше на "или" не шло :)
...
Рейтинг: 0 / 0
(PERL) нужно создать такой regexp
    #33390099
nik2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гость2005Т.е. мне нужно как то так использовать эту строку в Regexp, что как тока она находит первое значение из ...|..|...|... дальше на "или" не шло :)

что я делаю не так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
g@b1:/tmp/ 11 ;b127cat  1 .pl
$line = 'voblaa';

$n_reg="blaa|aа";

if($line=~/^(.*)($n_reg)(.*)$/i){
        print "$2\n";
}

g@b1:/tmp/ 11 ;b127perl   1 .pl
blaa

?
...
Рейтинг: 0 / 0
(PERL) нужно создать такой regexp
    #33390129
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуйте /^(.*?)($n_reg)(.*)$/i

или /($n_reg)/i и $`, $1, $', см. perldoc perlvar

2 nik2: последний символ в "blaa|aа" - русская буква
...
Рейтинг: 0 / 0
(PERL) нужно создать такой regexp
    #33390131
Гость2005
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот такое дает второе значение, а не первое :)
Т.е. в строке не одна такая подстрока может быть...

$line = "ddddfff ddddfff";

$n_reg="ddddfff|dfff";


if($line=~/^(.*)($n_reg)(.*)$/i){
print "$2\n";
}
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PERL) нужно создать такой regexp
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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