-
-
Save JoshuaCarroll/f6b2c64992dfe23feed49a117f5d1a43 to your computer and use it in GitHub Desktop.
All amateur radio call signs: | |
[a-zA-Z0-9]{1,3}[0-9][a-zA-Z0-9]{0,3}[a-zA-Z] | |
Non-US call signs: | |
\b(?!K)(?!k)(?!N)(?!n)(?!W)(?!w)(?!A[A-L])(?!a[a-l])[a-zA-Z0-9][a-zA-Z0-9]?[a-zA-Z0-9]?[0-9][a-zA-Z0-9][a-zA-Z0-9]?[a-zA-Z0-9]?[a-zA-Z0-9]?\b | |
US call signs: | |
[AKNWaknw][a-zA-Z]{0,2}[0-9][a-zA-Z]{1,3} |
Thank you for sharing these! 73, KF4ZZF
You're very welcome! What are you making? (Just curious.) de AA5JC
I'm using these for a Python script to print out address labels for QSL cards from an ADI file. Trying to handle "slashy" call signs (e.g. POTA/W1ABC or K0XYZ/2) and parse out the call sign
73 de W0KEH
I'm using these for a Python script to print out address labels for QSL cards from an ADI file. Trying to handle "slashy" call signs (e.g. POTA/W1ABC or K0XYZ/2) and parse out the call sign
73 de W0KEH
Without seeing your sample set it's hard to write, but I took a stab at it anyway..
RegExpr.com - Good visual of the regex
regex101 - Great for testing regex against sample data
Silly question, but why [0123456789]
instead of [0-9]
?
Silly question, but why
[0123456789]
instead of[0-9]
?
Probably because I didn't know regex that well back when I wrote this.
¯_(ツ)_/¯
Thank you! I'm using this to validate call signs in a program to create accounts on a ham radio club station computer.
Thanks for providing this! I modified the expression to not match calls like: A6AA, A6AAA, AAA6A since these don't follow the U.S. rules. Also calls in the range AM* to AZ* don't get matched either.
Modified RegEx: ^[KNWknw][a-zA-Z]{0,2}[0-9][a-zA-Z]{1,3}$|^[Aa][a-lA-L]{1}[0-9][a-zA-Z]{1,2}$
This matches the whole string too. Been using this to validate U.S. callsigns in the DMR database as well as finding several malformed U.S. calls.
@JoshuaCarroll Just saw your comment. Learning Flutter and making a simple call sign lookup iOS and Android app.
Very cool! Thanks for sharing!
Thank you for sharing these! 73, KF4ZZF