2009-05-12 7 views
7

Je dois mettre en signet des parties d'un document à partir du nom des paragraphes, mais le nom d'un paragraphe n'est pas toujours un nom valide pour un nom de signet. Je n'ai pas trouvé sur Google ou MSDN une liste exhaustive des limitations pour les noms de signets.Quelles sont les limitations pour les noms de signets dans Microsoft Word?

Quels caractères spéciaux sont interdits?

La seule chose que j'ai trouvée est que la longueur ne doit pas dépasser 40 caractères.

Répondre

17

Si vous connaissez des expressions régulières, je dirais qu'il est

^(?!\d)\w{1,40}$ 

\w fait référence à la gamme de caractères de texte Unicode, qui contiennent également le trait de soulignement et les chiffres de 0-9. Exprimé différemment: Le nom doit commencer par un caractère de mot (mais pas un chiffre), alors n'importe quel caractère de mot Unicode peut suivre jusqu'à une longueur totale de 40 caractères. Les caractères de mot excluent explicitement l'espace blanc et la ponctuation de n'importe quel type. Comme les états divo dans les commentaires, les signets avec des noms commençant par un trait de soulignement sont traités comme "cachés". Il n'est pas possible de créer des signets commençant par un trait de soulignement via l'interface utilisateur, mais par "Bookmarks.Add"

+2

+1, plus les signets dont le nom commence par '_' sont traités comme masqués. –

+0

Cela nous conduirait à "^ (_ | \ w) [\ w \ d] {0,39} $" –

+0

@Maxime Vernier: "_" fait traditionnellement partie de "\ w". – Tomalak