Call me old fashioned, but I would just use standard emacs regexp search
That’s off the top of my head. I will test it in emacs tomorrow - I don’t have emacs on my iPhone :-(.
I use isearch-forward-re to the exclusion of all else. Standard key binding C-M-s. You might prefer re-search-forward.
\s- → character class whitespace
\s-* → 0 to infinite whitespace
\(…\) → group
Within the group:
// → your comment
[^␤] (with an actual line break instead of
␤ — type
C-q C-j) → any character that is not a newline
→ comment to end of line,
followed by a newline and whitespace at beginning of line.
All of that in a
*’ed to repeat 0 to infinite times.
The funkiest part is the newlines in the regexp. I get them by typing C-q (
quote-char) followed by C-j, since C-j is newline.
If all of the above is in an elisp string, then the backslashes will have to be doubled, and you can use
\n for a newline.
In the really old days I might have typed [ blank tab ]* - which is illegible. Now I usually remember to type
\s-*. But note that syntax class tables can vary.
Modern emacs uses character classes like
[:blank:] for tab and space, or
[:space:] for any whitespace including tab and space and newline.
So my original regexp might be more readable as
The trick here is that I don’t know of any easily readable version of “any character except newline”, so instead I do a group of ( any blanks followed by any non-spaces ), which is equivalent when starred,