Names (field names, for example) are case-insensitive and consist of multiple words, numbers, or hyphens. A name should start with a word and should finish with either word or number.
Name parts can be separated by any number of space characters (Unicode Zs, not a new line characters), but this is not always required and sometimes prohibited or discouraged (may be so with hyphens).
Space is not a part of the name. Rather it's just a syntactic method of separating different parts of the name.
Note that comments and underscore are not allowed within a name.
Word is a sequence of any Unicode letters.
These are valid words:
Hello
Привет
When the name contains two sequential words it is necessary to separate them by space, like this:
Hello World
or this:
Hello World
A number is a sequence of decimal digits (0...9).
The name can not start with a number. So, the following is not a valid name:
3D
When the number follows a word, there is no need to place the space between them. So the following names are the same:
name2
name 2
The same rule applies to the word following the number. The following names are the same:
render 3d
render 3 d
render3 d
render3d
Names may contain hyphens (-). There are multiple hyphen characters in
Unicode. o42a makes no difference between them internally, but applies
different syntactic rules for the sake of grammatical correctness. The following
hyphen symbols recognized:
| U+002D | HYPHEN-MINUS |
| U+2010 | HYPHEN |
| U+2011 | NON-BREAKING HYPHEN |
The following rules apply to the hyphen usage in names: the name should not start with a hyphen, the name should not end with a hyphen, the hyphen should not follow another hyphen, no spaces allowed before HYPHEN-MINUS, a space before HYPHEN or NON-BREAKING HYPHEN is discouraged and issues a warning, a space after NON-BREAKING HYPHEN is discouraged and issues a warning.
To write a subtraction operator or unary minus operator, just place a space before the HYPHEN MINUS sign.
So, the following are not a valid names:
name-
-name
plug - in
built -in
left--over
Examples of valid names:
plug-in
to-be-defined
links-2-3-4