189

I have to use a ton of regex in my new job (plz save me), and I use ChatGPT for all of it. My job would be 10x harder if it wasn't for ChatGPT. It provides extremely detailed examples and warns you of situations where the regex may not perform as expected. Seriously, try it out.

top 35 comments
sorted by: hot top controversial new old
[-] RandomDevOpsDude@programming.dev 69 points 1 year ago

Just make sure to test the regex instead of blindly slapping it in assuming it works 🙂

[-] NounsAndWords@lemmy.world 21 points 1 year ago

What if I say "it's probably okay just this one time" before I do it every time?

[-] Arayvenn@lemmy.ca 7 points 1 year ago

Ah I've tested this method, shit breaks a lot. Still my go to.

[-] Igotz80HDnImWinning@kbin.social 4 points 1 year ago

Can we just have another LLM check the work for us? Like an LLM-GAN?

[-] NounsAndWords@lemmy.world 4 points 1 year ago

I'm not sure if it's still the case, but asking it to review what it just wrote for errors has led to significant quality improvements previously.

[-] porksoda@lemmy.world 8 points 1 year ago

The new Code Interpreter plugin that went live for this week for Plus users can actually execute Python code on a sandboxed environment. This allows you to add "Write and execute tests for the regex" to the end of your prompt.

[-] larlyssa@lemmy.world 9 points 1 year ago* (last edited 1 year ago)

Regex101 is a sandbox env specifically for Regex

[-] coloredgrayscale@programming.dev 4 points 1 year ago* (last edited 1 year ago)

Not just for writing, and testing samples. It will also explain the parts of the regex.

However it won't generate examples that will pass the regex - which may be the biggest benefit of chatGPT.

[-] MagicShel@programming.dev 28 points 1 year ago

I’ve tried it and found it wanting at regex and excel formulas, but I’m glad to hear it’s working for you! Are you using 4? I haven’t tried that one and I hear it’s better.

[-] BenLloydPearson@programming.dev 14 points 1 year ago

I typically try 3.5 first and switch to 4 if the results aren't great. 3.5 typically handles basic use cases quite well, for example, writing regex that detects jira ticket naming nomenclature. For more complex things, I go to 4.

It sometimes gets things wrong, but I've also found that just saying "that didn't work" gets it to reevaluate for more complex situations

[-] varsock@programming.dev 16 points 1 year ago

it helps if you hold ChatGPTs hand and walk it through what you need. For example if you have a regex with 3 requirements, ask it to write a regex for the first requirement, then ask it to modify the previous output to add another requirement, and so on. that way you can sort of "audit" it as it generates the correct regex.

there is some more discussion of this in a similar post from a few days ago.

[-] MagicShel@programming.dev 4 points 1 year ago

So I was trying to write a regex for use with my ChatGPT discord bot. I wanted to trim off any final partial sentence at the end. I went around and around with it for a couple of hours because look ahead and look behind are just not something I do often enough.

It kept writing more and more complicated regex that didn’t work. The final solution, while not exactly perfect - it won’t keep a quote at the end of a sentence, and honorifics like Mr. and Dr. throw it - it wasn’t nearly as complicated as ChatGPT was making it. It still never did give me anything working - I just fucked around on regex101 until I got it right. As usual but having wasted 90 minutes or so.

[-] chaorace@lemmy.sdf.org 9 points 1 year ago

You can improve the reliability if you provide it test cases. You can now be the PM you wish you had for the robot that will eventually replace you.

[-] fraydabson@sopuli.xyz 6 points 1 year ago

Also curious. If I had some AI help with regex that would be awesome. But I felt as you said it wouldn’t work great without 4. Which I don’t have.

[-] tbonebrad@lemmy.world 5 points 1 year ago

I agree, my regex experience was not great.

[-] Ertebolle@kbin.social 6 points 1 year ago

My biggest problem with it has been that it doesn't necessarily understand that some things are impossible - for example, variable-length lookbehinds.

[-] learnbyexample@programming.dev 2 points 1 year ago

That depends on the regex flavor. Some of them have full support for variable length lookbehinds, for example JavaScript and third-party regex module for Python.

[-] axtualdave@lemmy.world 1 points 1 year ago

A variable length lookbehind is the same as the opposite of a variable length lookahead.

[-] WhereYak@lemmy.world 5 points 1 year ago

Thanks for this post, I use regex a often and did not know gpt would be good at this..

[-] coloredgrayscale@programming.dev 10 points 1 year ago

That's the problem. It will confidently give you an correct sounding answer.

If it is actually true is a different topic. So don't just blindly trust it. Verify, or at least sanity check it.

[-] JavaCodeWriter@programming.dev 5 points 1 year ago

This this this!!! I know this is a post from the place that shall not be named, but it just showcases the issues with ChatGPT (this is from when GPT4 was just released)

[-] cultsuperstar@lemmy.ml 4 points 1 year ago

You can also ask it to do write VBA code for Excel, or Jira queries.

[-] counselwolf@lemmy.fmhy.ml 1 points 1 year ago

Still a bit new to Jira, what are Jira queries?

[-] glad_cat@lemmy.sdf.org 3 points 1 year ago

I have yet to see a regex that is so complicated that I would need some help. I expect programmers to know how to use regexes but it seems that it's not the case. And when it becomes too big, you always can write verbose regexes with comments, it's even easier. If someone could show me something too difficult for a human being (excluding the regex to validate emails), I'm interested.

[-] Psilves1@programming.dev 1 points 1 year ago

It's often developers who never took a finite automata class who I've seen struggle with regular expressions.

It's kind of like writing code in C while not understanding how memory management works

[-] rookie@programming.dev 0 points 1 year ago

Huh. That class looked hard as hell, I didn't take it, and now I'm 2 years out of school still googling regex every time I need it.

Maybe I should do some reading 😅

[-] Psilves1@programming.dev 1 points 1 year ago* (last edited 1 year ago)

It was mandatory. I'm glad I took it, but I'm glad it's over 😂😂😂

Just look up how finite automatas work. You don't need to understand turing machines or turing completeness

[-] sebinspace@lemmy.world 2 points 1 year ago

Wait, you guys don’t use AI to make regex?

[-] Grtz78@feddit.de 9 points 1 year ago* (last edited 1 year ago)

I use regex101.com

Up to now that usually was faster than trying to get chatGPT to generate something worthwhile. However, if you define some test cases first, the combination of both will even get the sales guy there eventually.

[-] sebinspace@lemmy.world 2 points 1 year ago

Ugh god it’s been a shit day with sales, let’s not bring them up. The turds.

[-] whoisearth@lemmy.ca 2 points 1 year ago

"i have this problem I know what I'll do! I'll use regex to fix it!"

Uses regex.

"Yay problem is now fixed it works!"

Now has 2 problems.

[-] Krzak@discuss.online 1 points 1 year ago

I tried it and naaah it's not that great. Keeps giving a rule for sample text too, despite really making it clear that I want a more general one.

[-] sim642@lemm.ee 0 points 1 year ago

If you think regex is the hard part of programming, then you're in for a bad time.

[-] BenLloydPearson@programming.dev 1 points 1 year ago

I often need to deal with half a dozen different programming languages in any day/week and the context switching can be difficult at times. When you've spent all day switching between JavaScript, Python, and YAML and suddenly need to draft some Regex, tools like ChatGPT can help immensely at reducing the mental burden of switching gears.

load more comments
view more: next ›
this post was submitted on 09 Jul 2023
189 points (95.2% liked)

Programming

17314 readers
71 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities !webdev@programming.dev



founded 1 year ago
MODERATORS