Here is my cheatsheet that has been very helpful. Obviously, this will not teach you how RegEx works, but is a good quick reference when I forget the exact syntax for something.
RegExp
Character classes
Anchors
For multiline patterns (m flag), ^ and $ will act as start and end of line.
Escaped characters
Groups
Quantifiers
Lookahead & Lookbehind
markdown
# RegExp
## Character classes
| Pattern | Description |
| ------------- | ---------------------------------------- |
| `.` | Any character, except newline |
| `\w` | Word |
| `\d` | Digit |
| `\s` | Whitespace |
| `\W` | Not word |
| `\D` | Not digit |
| `\S` | Not whitespace |
| `[abc]` | Any of a, b, or c |
| `[a-e]` | Characters between `a` and `e` |
| `[1-9]` | Digit between `1` and `9` |
| `[[:print:]]` | Any printable character including spaces |
| `[^abc]` | Any character except `a`, `b` or `c` |
## Anchors
| Pattern | Description |
| ------- | ---------------------- |
| `\G` | Start of match |
| `^` | Start of string \* |
| `$` | End of string \* |
| `\A` | Start of string |
| `\Z` | End of string |
| `\z` | Absolute end of string |
| `\b` | A word boundary |
| `\B` | Non-word boundary |
| `^abc` | Start with `abc` |
| `abc$` | End with `abc` |
For multiline patterns (`m` flag), `^` and `$` will act as start and end of line.
## Escaped characters
| Pattern | Description |
| ---------- | -------------------------------------- |
| `\. \* \\` | Escape special character used by regex |
| `\t` | Tab |
| `\n` | Newline |
| `\r` | Carriage return |
## Groups
| Pattern | Description |
| --------- | -------------------------------------------------------- |
| `(abc)` | Capture group |
| `(a\|b)` | Match `a` or `b` |
| `(?:abc)` | Match `abc`, but don't capture |
| `\1` | Substituted with text matched of the 1st capturing group |
## Quantifiers
| Pattern | Description |
| -------- | --------------------- |
| `a*` | Match 0 or more |
| `a+` | Match 1 or more |
| `a?` | Match 0 or 1 |
| `a{5}` | Match exactly 5 |
| `a{,3}` | Match up to 3 |
| `a{3,}` | Match 3 or more |
| `a{1,3}` | Match between 1 and 3 |
## Lookahead & Lookbehind
| Pattern | Description |
| --- | --- |
| `a(?=b)` | Match `a` in `baby` but not in `bay` |
| `a(?!b)` | Match `a` in `Stan` but not in `Stab` |
| `(?<=a)b` | Match `b` in `crabs` but not in `cribs` |
| `(?<!a)b` | Match `b` in `fib` but not in `fab` |
| `(?<![a-z])abc(?![a-z])` | Match `abc` without any letters before/after |
Good to see that the spoiler syntax does work the same there. But the code block part of my comment seems to be broken for you:
The spoiler syntax should not render as a spoiler when placed inside a code block
The language hint text is not supposed to be visible at all. It is just supposed to indicate to the client what flavor of syntax highlighting should be used for that code block.
Panel 1: The engine room of a starship, with giant cans of baked beans piped directly to the mouths of some heads poking out of the wall.
Panel 2: An outside view of the rear of the starship, showing an array of butts protruding from the starship, implied to be the butts of the people in the wall in Panel 1.
Panel 3: The starship captain issuing the command "fart".
Panel 4: The starship is now being propelled through space via the thrust generated by the array of farting butts from Panel 2.
This is more-or-less the same as the experimental drive introduced in Star Trek Discovery.
Where are you seeing mention that the coma contributed to the choice to discontinue? I see in the !30rock@dubvee.org post that the community will be shut down despite the fact that the only mod is not able to even protest that decision or anything, but no other mention.
How would a web browser achieve that? The only thing I can think of is for the browser to choose what sort of web content should be filtered out and what should actually be displayed to the user, which I think we all agree is not what you would want your browser to choose.
Star Trek fans would think "it's a wrap"
https://memory-alpha.fandom.com/wiki/It%27s_A_Wrap!_sale_and_auction