UltraEdit and Unix regular expression engines do not interpret end of file as end of line on using $. This behavior is unmodified since I am using UltraEdit for Windows (20 years).
The Perl regular expression engine interprets $ as end of line and as end of character stream and for that reason also as end of file.
Technical a string at end of a file not ending with a line termination is not really a line, it is just a string at end of file.
Well, all the regular expressions posted by me in referenced post are for deleting empty or blank lines within a file. None of them is for deleting the line termination at end of file.
Let us look on your example stored in text file with DOS/Windows line endings with enabled View - Show line endings (traditional menu) or checked Line endings on ribbon tab View:
...¶ ¶
...¶ ¶
The file has just 4 lines each ending with carriage return + line-feed. It is possible to position the caret at end of file which is at beginning of "line" five to append something at end of file. My regular expressions are for deleting empty and blank lines from file. So they produce:
...¶
...¶
The file has just two lines after storing the modification. But it is again possible to position the caret at end of file which is at beginning of "line" three to append something here.
What you wanted to achieve is:
...¶
...
So the file contains now only one line with three dots terminated with carriage return + line-feed and three dots at end of file with no line terminating characters. This is possible for nearly all text files, but quite often cause troubles, especially if a programmer does not take into account this special case of no carriage return/line-feed at end of file.
Best regards from an UC/UE/UES for Windows user from Austria