2009-05-07 6 views

Répondre

20

Avez-vous essayé? Je crois que vous avez

[^~,] 

Maintenant, pour exclure des caractères non dans le clavier, pour les inclure. Ce qui couvre à peu près cela (même si cela ressemble à une façon délirante de faire les choses). Peut-être que la définition du problème peut vous aider à ajouter plus de choses à exclure dans la première liste [^~,] que d'essayer de créer une énorme liste de tous les caractères du clavier.

+0

Cependant, cela permettra à certains charcaters spéciaux qui ne sont pas dans keyboad qui pourraient venir acccidentally en faisant copier coller nad à partir de certains textes. –

4

Vous ne dites pas ce que la langue/outil que vous utilisez, mais en Java j'iriez avec ce regex:

"[\\p{Print}&&[^~,]]" 

C'est l'intersection de deux ensembles: tous les caractères ASCII d'impression, et tous les caractères ce ne sont pas un tilde ou une virgule.

3

je devais le faire pour regex travailler:

"[^~,][^~,]*" 

parce [^~,] nie ~ et ,

[^~,]* signifie à zéro ou de nombreuses copies de ~ et , (qui ne sert à rien pour notre cas)

et en mettant [^~,][^~,]* vous arrive à nier une ou plusieurs copies de ~ ou ,

+4

Il existe un quantificateur spécial pour "un ou plusieurs": '[^ ~,] +' – Teejay

0

Reg-Ex pour tous les caractères clés du conseil pris en charge a fonctionné pour moi:

/^[[email protected]?#"$%&:';()*\+,\/;\-=[\\\]\^_{|}<>~` ]+$/ 

excepter '~' et '': caractères

/^[[email protected]?#"$%&:';()*\+\/;\-=[\\\]\^_{|}<>` ]+$/ 
Questions connexes