\W versus [\W]

Jan Kasprzak kas na fi.muni.cz
Čtvrtek Listopad 19 10:08:22 CET 2009


	Tusite nekdo proc se \W chova jinak uvnitr [ ]?

$ perl -Mutf8 -e '$a="á"; print "BAD\n" if $a=~/[\W]/'
BAD
$ perl -Mutf8 -e '$a="á"; print "BAD\n" if $a=~/\W/'
$

Pokud v $a je "a" misto "a s carkou", chova se to dobre v obou pripadech.

	Co ve skutecnosti potrebuju je matchovat nepismenne znaky
a navic podtrzitko. Cili jsem mel snahu delat [_\W]+. Nicmene na ne-ASCII
znacich se to chova divne. Prisel jsem jen na workaround (?:\W|_) misto [_\W].

	Zkousel jsem na rucne zkompilovanem 5.8.6 a distribucnim 5.10.0
z Fedory 11 a 12. perlre(1) pise ze \W a dalsi muzou byt pouzity uvnitr [ ],
akorat nesmi byt jako zacatek nebo konec rozsahu. Nic o jinem vyznamu nepise.

	Mate nejake vysvetleni? Diky,

-Y.

-- 
| Jan "Yenya" Kasprzak  <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839      Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/    Journal: http://www.fi.muni.cz/~kas/blog/ |
Please don't top post and in particular don't attach entire digests to your
mail or we'll all soon be using bittorrent to read the list.     --Alan Cox


Další informace o konferenci Perl