> is an AI-powered tool that generates regular expressions.

Or, just write regular expressions?

> ...'s intuitive interface makes it easy to input sample text and generate complex regular expressions quickly and efficiently.


Inputting the sample text:

  foo bar baz
  baz bar foo
And highlighting the first "baz" produced patterns which all had "[A-Z][a-z]*@libertylabs\\.ai" included, assumedly due to the default inclusions.

Removing those and highlighting the second "baz" resulted "<Agent B>" as the results in one case.

There is no explanation of any patterns generated. If a person is to use one of the generated patterns and is supposed to "save you time and streamline your workflow", no matter "[w]hether you're a novice or an expert", then some form of verification and/or explanation must exist.

Otherwise, a person must know how to formulate regular expressions in order to determine which, if any, of the presented options are applicable. And if a person knows how to formulate regular expressions, then why would they use

Just so that you know, your problem is called "regular expression synthesis", there's vast literature on it and a LLM is by no means necessary.

How about instead of an AI generating a regex we can't understand, we put energy using actually well developped method for parsing & validating text? Why put code you can't understand in your database?

For complex inputs, use actual peg parsers :

For simplet inputs, express your intent with readable methods using a lib : &

If you would like to generate a regular expression by giving an example input text and an example output match, you could use this closed form solution tool:-

There is an excellent HN comment that provides more reading material around regex generation:-

I had a problem so I used an AI generated regex. Now I have an unknowable number of problems.
Usually when you have an AI like this that is supposed to generate verifiable results, you do an adversarial test where you ask it to solve problems that you already know the answer to, to make sure it works.

It looks like no one did that here. Even using the sample data provided, if you highlight a few of the addresses, it can't find the rest of them, mainly because it generates a regex with ST/AVE/LN in it, missing all the ones with RD. And if you add an RD sample, it just adds that to the list.

There's lots of great innovation coming with LLMs, but people are forgetting their "AI basics" when it comes to verifying them.

I really wonder if this sort of thing is the how AI will work.

We tell AI what we want. AI produces a hyper-specific, but barely comprehensible result. We look over the result to make sure it’s all good.

Then execute.

I was curious if this would be smart enough to generate a regex for any four letter word so I copied the tagline of the site and highlighted all four letter words in it. (I have deleted the previous highlights of course.) It generated three regexes that just had a union of those words and one which started off good-ish by looking for any word of length of three or four, but then tacked on some random suffix and in the end this most promising regex turned out to not even match anything in the source text. As a suggestion to the authors of this tool I'd propose to add a step where any generated regexes that don't match anything in the input text are removed from the results.
The results I got from this were unfortunately not useful. For example in trying to extract the property names from a connection string, I highlighted all of the property names along with the equals sign. So for

"PostgresSql": "Host=localhost;User ID=postgres;Password=xxxx;Database=test;Application Name=Test1234,Port=35432;Pooling=false;"

I selected User ID=, Host=, Application Name=, Password=

The results were pretty useless, using the literal inputs as pattern matches:

(User ID|Host|Application Name|Password)=([^;]) (User ID|Host|Application Name|Password)=([\w]) (User ID=)|(Host=)|(Application Name=)|(Password=) ([Uu]ser [Ii][Dd]=)|([Hh]ost=)|([Aa]pplication [Nn]ame=)|([Pp]assword=)

The following prompt given to Chat GPT 4 however:

> Write a regular expression to extract the property names from this PostgreSQL connection string: "PostgresSql": "Host=localhost;User ID=postgres;Password=xxxx;Database=test;Application Name=Test1234,Port=35432;Pooling=false;"

Yields the response with an explanation:

(?<=[^\\w])([A-Za-z ]+)(?==)

"This regular expression will match any sequence of alphabetic characters (upper or lower case) that are followed by an equal sign (=). The negative lookbehind (?<=[^\\w]) ensures that the property name is not preceded by another word character."

A quick test on shows this works perfectly.

Sorry, don't like to be overly critical. Someone has attempted to solve a common problem for developers, but LLMs are going to blow applications like this away. And I think that Chat GPT at version 4 has become a truly useful tool.

I was interested to test this since I'd been writing a regular expression earlier in the day for a similar usecase, which I've written up here:

Cool hack! I'm having some trouble thinking of a case where I wouldn't just explain to Copilot / ChatGPT what I need. Maybe specifically in cases where I had the raw data but not the column titles?
Going a little more "end user needs vs new tech offers", the intent is on the right place, but the output isn't helping as much as normal programmatic tools

At least for me, what would make this a killer app would be the ability of reading a document or pdf or big text dump and 1: identify "possible fields" (first name, date of birth), "probable fields" (middle name or other fields that are part of data set but doesn't appear in every line) and "probable junk data" (page numbers, page headers, useless pdf padding"

2: allow selection or tuning of these fields to generate regex to catch or remove only the data related to the parsed fields.

I THINK there's something done with pandas (pandoc?)that can help tearing a document apart and getting fields or basic doc structure, but AI would need to take it from here and present it in a clear, concise and optionally explained way so a busy office worker could just copy the regex filter in a spreadsheet formula or program function

This doesn't seem to generate great regex, but it does seem to generally work(ish?) so I guess nobody would care. That said, how's this work? Are you just sending this off to one of the AI api's - what's going on with the data pasted in the box after we hit run?

Struck me as funny when we have another thread going about people pasting company data into ChatGPT and here we have a regex AI with an example that looks like it's encouraging you to trust it with helping you regex through your PII, just paste it in the box and highlight what you need lol (not saying that's the intent, just that's what less savvy users may do)

Company site does not inspire much confidence:

Light on details, heavy on philosophers, trend setters, idea banks, and radicals that make me worried I'm dealing with opportunists taking swings at monetizing a bunch of .ai domains. Especially the weird cinematic banner.

It's nice and there are use cases for it, but if I ever need something like it, I'll prolly just explain what I want to ChatGPT and tell it what regexp engine I'm using, and it'll give me results I'll paste to for tests. The only added value here is that I wouldn't need to think of a prompt, but I've become good at finding nice prompts for programming problems, so directly querying ChatGPT is what I'd go for, personally.

Also, I'm not sure what underlying tech is used, and the only explanations on the tool seems to be a Youtube video, so I didn't look further. I'd like to know more about how it's made, if that's possible and something the author would be ok to share.

This is a really nice implementation, so full credit to the creator. Regex is always confusing to compose, but it's also one of those situations where I can't help but wonder if the solution is just to improve upon / provide a nice abstraction for regex rather than handing over full control to a non-deterministic AI.

I've seen at least 2 projects in the last 6 months using LLMs to generate bash code which seems like a similar solve. LLMs are super cool, but there's a massive advantage to actually understanding what you're code does, and LLM generated regex, bash, assembly etc loses that.

Dang, there goes my investment in Jeffrey Friedl's "Mastering Regular Expressions" which launched my programming career after I discovered a reference to it in "Dreamweaver Bible" back in 2000.
Great to see our service rank 2nd in Hacker News! Surprise by the sudden rise in traffic.

We will be deploying v1.1 on the first week of April , with descriptions and 5x improved performance. Stay tuned!

To be honest I find ChatGPT sufficient for regex. I usually ask it for test cases that I can then validate in a regex playground to make the regex is working as expected.
Writing regexps by hand, indeed, might be tedious task in some cases.

One I familiar with is to match datetime interval, when you need to narrow down log rows for a particular time range.

So I built a tool just for it :)

This looks like a great tool, I would like to ask if it really is AI-powered?

AI is a term that's been heavily co-opted by the expert systems crowd, especially when marketing solutions.

Does this tool actually learn from user input and improve output accordingly? That would be my definition.

Whichever way this was built it's a useful tool, thanks!

even with the examples on the landing page, the regexes generated for the emails are not really usable. it needs way more examples to produce the right thing.

even though I doubt most production code uses the actual, correct, rfc-compliant regex to match emails (it's a monster), this does nothing to improve the situation...

Finally I can use this to write a regex to parse HTML! (Glad to finally able to bust out the meme)
Regular expressions, and various bash scripting techniques are where I've found chat GPT to be most useful

Just like normal software development you have to check the solution right away, but it really works great

The input isn’t rich enough to generate generalizable regexes (regecies?). Would probably be better off with a text input explaining what the user wants to match. Text-to-regex includes intent.
Very useful tool for novices, though I'd assume experts will much rather write one themselves...

P.S. assuming the poster is scanning the comments, typo in the site title: "aritifical"

I built a better one, more flexible:
How is this AI rather than just string logic? What model was trained? Trained on what? Maybe producthunt would be a better place to post promos?
Just as with every AI tool you need to be an expert in scope that you are operating the AI tool...

You have to know reg-ex really well to use this tool safely.

Regexes are one of those things that are much easier to write good tests for than to write the code itself. I like this use of LLM
I tried it with the default example, and it couldn't match only the street names. How does this work under the hood?
Coming soon: an AI powered regex explainer.
The description here is a huge put off for me — no substance. Generated by AI probably?
This might make people put more unnecessary regexes into code, because AI. Beware.
How is this compare to GPT-4? I am using it to write regex all the time nowadays.
The most basic check - that the suggestions are working - is missing
Can it parse emails? Obviously that's hard.
imo using chatgpt for generating regex is better, good project although
who ate my space?
Honestly, writing a regex is way easier than reading a regex, no? So it feels like now I have the harder task of proving that the generated regex is correct.