<p>As far as I know, there is no standard that defines valid characters for a stellar designation. Sometimes people write using Greek letters (e.g. &quot;α Centauri&quot;) and there are many odd catalogue notations. I would not trust that star designations could not contain commas or pipes (aka vertical bar, <strong>|</strong>), although I think it would be rare.</p>
<p><a href="https://www.iau.org/public/themes/naming_stars/" rel="nofollow noreferrer">The IAU has stated that star names are separate from the catalogue designations</a>, and in regard to designations &quot;it is standard practice to identify them with an alphanumeric designation. &quot; But standard practice does not guarantee that somebody will not disregard it, and there are clearly plenty of designations already with non-alphanumeric symbols.</p>
<p>So, one should probably not assume too much about what characters are in the string. Presumably for safety and generality one needs to assume a Unicode string and some robust way of escaping entries.</p>

CC BY-SA 4.0
2021-03-22T17:15:49.517Z
Thanks, the reason I'm interested in `,` and `|` in particular is that they are currently used as system, and comment separators respectively, and spot checking "α Centauri", it is represented by the text "Alpha Centauri", so I haven't seen any non ASCII characters used so far.
Mark Booth
CC BY-SA 4.0
2021-03-22T18:05:33.870Z
http://simbad.u-strasbg.fr/simbad/sim-id?Ident=betelgeuse&NbIdent=1&Radius=2&Radius.unit=arcmin&submit=submit+id lists all common identifiers for Betelgeuse. Some contain a comma - common separator to distinguish components of a multiple system
planetmaker
CC BY-SA 4.0
2021-03-22T18:08:19.927Z
And looking at http://simbad.u-strasbg.fr/simbad/sim-basic?Ident=alpha+centauri&submit=SIMBAD+search the same catalogue ommits the comma... so don't count on consistency in names
planetmaker
CC BY-SA 4.0
2021-03-22T20:10:26.583Z
@MarkBooth I think this might be a bit of an XY problem in that case. If your data source uses `,` and `|` as delimiters already, then there should be no problem, or the data would be unusable. If your data source doesn't, but you want to use them, then you should just write a few lines of code to replace any possible occurence with a corresponding escape sequence. This way your program will not suddenly break if somebody decides to name a star `,|'); DROP TABLE STARS;-- `
mlk
CC BY-SA 4.0
2021-03-22T11:15:31.707Z
2021-03-22T18:08:29.703Z
2021-03-22T18:08:29.703Z
Anders Sandberg
<p>While most star names and alphanumeric designations I've seen appear to be pure alphanumeric plus space, I have seen designations with both <code>-</code> and <code>+</code> characters in them too.</p>
<p>Is there a reference or standard anywhere for what characters are valid for designations and star names?</p>
<p>I've had a look around for this information, but I can't find any references which would allow me to write a comprehensive BNF syntax or a regular expression to parse and/or validate star names and designations.</p>
<p>In particular for a project I'm working researching, I would like to know if either a <code>,</code> comma or a <code>|</code> pipe character has or might ever be used in a star name or designation.</p>

<star-catalogues>
How can I validate star names and designations?
Mark Booth
# How can I validate star names and designations?

(Asked by: username_0 on 2021-03-22)

While most star names and alphanumeric designations I've seen appear to be pure alphanumeric plus space, I have seen designations with both `-` and `+` characters in them too.

Is there a reference or standard anywhere for what characters are valid for designations and star names?

I've had a look around for this information, but I can't find any references which would allow me to write a comprehensive BNF syntax or a regular expression to parse and/or validate star names and designations.

In particular for a project I'm working researching, I would like to know if either a `,` comma or a `|` pipe character has or might ever be used in a star name or designation.

**Tags:** star-catalogues


---

## 1 answers

### Answer by username_1 on 2021-03-22. Score: 8

As far as I know, there is no standard that defines valid characters for a stellar designation. Sometimes people write using Greek letters (e.g. "α Centauri") and there are many odd catalogue notations. I would not trust that star designations could not contain commas or pipes (aka vertical bar, **|**), although I think it would be rare.

[The IAU has stated that star names are separate from the catalogue designations](https://www.iau.org/public/themes/naming_stars/), and in regard to designations "it is standard practice to identify them with an alphanumeric designation. " But standard practice does not guarantee that somebody will not disregard it, and there are clearly plenty of designations already with non-alphanumeric symbols.

So, one should probably not assume too much about what characters are in the string. Presumably for safety and generality one needs to assume a Unicode string and some robust way of escaping entries.

> **Comments:**
> **username_0**: Thanks, the reason I'm interested in `,` and `|` in particular is that they are currently used as system, and comment separators respectively, and spot checking "α Centauri", it is represented by the text "Alpha Centauri", so I haven't seen any non ASCII characters used so far.  
> **username_2**: http://simbad.u-strasbg.fr/simbad/sim-id?Ident=betelgeuse&NbIdent=1&Radius=2&Radius.unit=arcmin&submit=submit+id lists all common identifiers for Betelgeuse. Some contain a comma - common separator to distinguish components of a multiple system  
> **username_2**: And looking at http://simbad.u-strasbg.fr/simbad/sim-basic?Ident=alpha+centauri&submit=SIMBAD+search the same catalogue ommits the comma... so don't count on consistency in names  
> **username_3**: @MarkBooth I think this might be a bit of an XY problem in that case. If your data source uses `,` and `|` as delimiters already, then there should be no problem, or the data would be unusable. If your data source doesn't, but you want to use them, then you should just write a few lines of code to replace any possible occurence with a corresponding escape sequence. This way your program will not suddenly break if somebody decides to name a star `,|'); DROP TABLE STARS;-- `  

---

