For the purpose of algorithm verification, the final and/or pushdown automaton or probably sometimes even Turing Machines are used, because they are easier to work with. “Real” regular expressions are only nice to write a grammar for regular languages which can be easily interpreted by the computer I think. The thing is, that regexs in the *nix and programming language world are also used for searching which is why there are additional special characters to indicate things like: “it has to end with …” and there are shortcuts for when you want that a character or sequence occurs
- at least once,
- once or never or
- a specified number of times back to back.
In “standard” regex, you would only have
- () for grouping,
- * for 0 or any number of occurances (so a* means blank or a or aa or …)
- + as combining two characters/groups with exclusive or (in programming, a+ is mostly the same as aa* so this is a difference)
- and sometimes some way to have a shortcut for (a+b+c+…+z) if you want to allow any lower case character as the next one
So there are only 4 characters which have the same expressive power as the extended syntax with the exception of not being able to indicate, that it should occur at the end or beginning of a string/line (which could even be removed if one would have implemented different functions or options for the tools we now have instead)
So one could say that *nix regex is bloated /s
A very important one besides backing up your files is that you should more or less stop searching the web for applications to download and install. You should first try to use your package manager (read the wiki of your distribution to know which one it is and how to search for and install software with it). If you miss some applications from Windows, you could have a good chance to look for alternatives at sites like https://www.opensourcealternative.to/
Do not fear the terminal too much. I know, Windows tried to make it as dreadful as possible to use, but if you do not run
sudo rm -rf /
(deletes your whole filesystem), there is not much that can go awfully wrong. And you should only execute commands you understand. If something does go wrong however, it is a good thing to have a backup ready (I would recommend Pika Backup or Vorta, both based on the great CLI application borg)For things that are not explained in the wiki of your distro, you have a pretty good chance to find a good explanation and even troubleshooting tips at the Arch Wiki (e.g. I use Void Linux and still search for most things at the Arch Wiki). It is also good to read some parts of the manual pages if you did not find enough information at the Arch Wiki (the command man is your friend) and the software’s wiki page if it exists.
If you ever find yourself in the editor vi or vim, type :q and press enter to quit until you feel the need to potentially invest a lot of time in learning vim movements to increase your editing speed and you never want to go back. Use nano, micro or a graphical app at first instead and keep using it if you are not someone who edits text a lot.