URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 6127
[ Назад ]

Исходное сообщение
"Regexp как указать точное совпадение ?"

Отправлено stan777 , 26-Янв-07 14:15 
нужно составить Regxp что он отличал "word" от "#word" !!
У меня слкдующий код:
if($_ =~ /word/) {
push @A, $_;
}
он мне в тексте вырезает все слова "word" и "#word" а мне нужно точное совпадение, как это написать ?

Содержание

Сообщения в этом обсуждении
"Regexp как указать точное совпадение ?"
Отправлено BigHo , 26-Янв-07 14:45 
>нужно составить Regxp что он отличал "word" от "#word" !!
>У меня слкдующий код:
>if($_ =~ /word/) {

  Наверное "~=" ? "~" после "=" - унитарная операция в большинстве языков.

>push @A, $_;
>}
>он мне в тексте вырезает все слова "word" и "#word" а мне
>нужно точное совпадение, как это написать ?

/^word$/


"Regexp как указать точное совпадение ?"
Отправлено BigHo , 26-Янв-07 14:47 
>  Наверное "~=" ? "~" после "=" - унитарная операция в
>большинстве языков.

ляпнул. Действительно, perl - единственное исключение :)


"Regexp как указать точное совпадение ?"
Отправлено stan777 , 26-Янв-07 15:16 
>>нужно составить Regxp что он отличал "word" от "#word" !!
>>У меня слкдующий код:
>>if($_ =~ /word/) {
>
>  Наверное "~=" ? "~" после "=" - унитарная операция в
>большинстве языков.
>
>>push @A, $_;
>>}
>>он мне в тексте вырезает все слова "word" и "#word" а мне
>>нужно точное совпадение, как это написать ?
>
>/^word$/
это не помогает, тперь он вообще мне не пишет ни одного слова.



"Regexp как указать точное совпадение ?"
Отправлено BigHo , 26-Янв-07 15:59 
>>>нужно составить Regxp что он отличал "word" от "#word" !!
>>>У меня слкдующий код:
>>>if($_ =~ /word/) {
>>
>>  Наверное "~=" ? "~" после "=" - унитарная операция в
>>большинстве языков.
>>
>>>push @A, $_;
>>>}
>>>он мне в тексте вырезает все слова "word" и "#word" а мне
>>>нужно точное совпадение, как это написать ?
>>
>>/^word$/
>это не помогает, тперь он вообще мне не пишет ни одного слова.
>


наверное надо сделать $_ = strip($_); перед этим делом


"Regexp как указать точное совпадение ?"
Отправлено phpcoder , 26-Янв-07 15:59 
coder@alt0 ~ $ echo "bla bla word\nblah #word blah" | perl -wnle 'if(/[^#]word/){print "ok"}else{print "not found"}'
ok
not found

"Regexp как указать точное совпадение ?"
Отправлено stan777 , 26-Янв-07 18:22 
>coder@alt0 ~ $ echo "bla bla word\nblah #word blah" | perl -wnle
>'if(/[^#]word/){print "ok"}else{print "not found"}'
>ok
>not found

Я вот сделал так и все работет отлично: /(?<!#)word/ !!!