- var_dump: documentation ( source)
- preg_match: documentation ( source)
<?php
var_dump(preg_match('~[-abc]~', '-')); // possible au début
var_dump(preg_match('~[abc-]~', '-')); // possible à la fin
var_dump(preg_match('~[^-abc]~', 'A')); // possible juste aprés le caractère de négation de classe ^
var_dump(preg_match('~[a-z-0]~', '-')); // possible aprés un range
var_dump(preg_match('~[a-z-\s]~', '-')); // idem
var_dump(preg_match('~[a-z-0-9]~', '-')); // idem
// possible jusqu'à PHP 7.2 inclus
// mais interdit à partir de PHP 7.3
var_dump(preg_match('~[\s-0-9]~', '-')); // aprés un raccourci de classe de caractères
var_dump(preg_match('~[\p{N}-G]~', '-')); // aprés une classe UNICODE
var_dump(preg_match('~[[:xdigit:]-G]~', '-')); // aprés une classe POSIX