Explain a pattern

Loading…

All tools β€Ί Read, not run

Explain a pattern

A pattern taken apart and said in words, or built from named pieces.

It runs entirely in this browser tab: the code you paste is never uploaded, and nothing here is executed, built or fetched β€” it is read and something else is written. Open your browser's network panel and try it.

Settings

Direction
Choices: Explain, Build one.
Pieces
Choices: The start, Digits, Letters, A word, A space, Anything at all, The end.
Name the parts
Named groups are easier to read and are not in every flavour.

How to use it

  1. Paste your text into the box above, or open a file.
  2. Adjust the settings beside it until the result is what you wanted.
  3. Copy the result, or save it as a file. The result updates as you type.

Questions

Is my code uploaded anywhere?
No. The whole application is carried as WebAssembly and runs on your own device. That matters here as much as anywhere: a curl command pasted out of a terminal has a live token in it, a stack trace has your customers' identifiers in it, and a configuration file has a password in the middle of a connection address.
Does anything here run what I paste?
Never. The command explainer explains and does not execute; the Dockerfile reader reads and does not build; the request builder writes a command and does not send it. Each tool says so on its own result, and each says what that costs it β€” a linter that did not build the image cannot tell you the image builds.
Will an escape survive a round trip?
Yes, and there is a test that says so: every language's escaper has its unescaper beside it, and an awkward string with quotation marks, backslashes, tabs, a null and an emoji in it goes through both for every language on every run of the test suite.
Why does it refuse a pattern instead of matching nothing?
Because matching nothing looks like an answer. The glob matcher reads a stated subset β€” the stars, the question mark, character classes, brace lists and a leading negation β€” and a pattern using anything else comes back named rather than quietly matching none of your files.

Other tools for read, not run

Test a glob
Which paths a pattern covers, with the syntax it does not read refused by name.

Read an identifier
Version, variant and the instant it was made β€” or the plain statement that it has none.

Identifier collisions
Titles as address-safe identifiers, with the ones that become the same named and numbered.

Explain a command
A command line taken apart and explained, never run β€” with the destructive parts named.

Read a Dockerfile
The faults that cost size or safety, including the secret that stays in a layer for ever.

Run to compose
A run command as the service that would do the same, with the ports and volumes kept.

Read a YAML file
The four things that break a YAML file, including the country code that reads as false.

All forty tools