How do I compare the size of two version numbers, such as 1.2.4a and 1.2.3b?

as detailed in the title:

Please use the programming language you are familiar with to implement a function that compares the size of any two software versions, such as 1.2.3a and 1.2.4b, whose version number is larger. Please consider various situations and cannot use the comparison function provided by the system.

Note: do you have any good implementation methods and ideas?

Apr.03,2021

the common version number naming methods, such as GNU,WINDOWS, etc., are nothing more than numbers + letters. A number may be an iteration of the version, such as V1.2.3 , or a date, such as V2018-06-25 , 20180625 . It is also possible to follow the previous stage naming such as and so on. If you only want to compare the digital parts, you just need to remove the non-digital parts and compare the size.
if you want to compare alphabetic parts, you should make a distinction. For a b c, just convert it to lowercase and make a case comparison. For trial, demo, unregistered, you need to make a dictionary.
such as js code

  

is there a solution to cPP

MySQL Query : SELECT * FROM `codeshelper`.`v9_news` WHERE status=99 AND catid='6' ORDER BY rand() LIMIT 5
MySQL Error : Disk full (/tmp/#sql-temptable-64f5-1b3ba46-2c2b8.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
MySQL Errno : 1021
Message : Disk full (/tmp/#sql-temptable-64f5-1b3ba46-2c2b8.MAI); waiting for someone to free some space... (errno: 28 "No space left on device")
Need Help?