|
Love your sig 🤣🤣🤣
Paul Sanders.
If I had more time, I would have written a shorter letter - Blaise Pascal.
Some of my best work is in the undo buffer.
|
|
|
|
|
Except there's a spelling mistake.
|
|
|
|
|
Oh yes! Two, if you're a Yank
Paul Sanders.
If I had more time, I would have written a shorter letter - Blaise Pascal.
Some of my best work is in the undo buffer.
|
|
|
|
|
Quote: I don't understand why it's difficult - DFA at least.
I am going to answer your question as thoroughly as possible. Regexes are simple in theory, not in practice, which is why people have problems with them.
=========================================
In theory, that's all you need to know. In practice, that's just the start - you missed '^' (which has two meanings), '\' (used for escaping those special characters) and '$'.
In $PROGRAM, which of the special characters need to be escaped? How about the replacement expression in "%s" (different to the match expression "/s")? How does it match newlines (hint: in Vim, for example, '$' vs '\n' vs '\r do all different things).
Write your expression to work in vim, and it fails in your Javascript program. Write your expression in sed and it fails using the regex library in C#. The expression that works in the default invocation of grep fails in the default invocation of Perl. Use `grep -E` and the expression fails on some tools but not on others.
Even passing a regex on to an engine is difficult: in an interactive bash shell you'd use sed "s/\\t//g". In a script that sets the results of that invocation to an environment variable you'd use sed "s/\\\\t//g". You run into a similar problems within your programs when you pass around string variables containing regexes, which is why even though many of the programs which use match expressions in their configuration (like nginx) have quoting and escaping rules that differ to the command-line programs which use the same regex library.
When you use regex liberally in Python, Bash, Grep, Vim, C#, Perl, Javascript and everything else, you never remember how they all handle the special cases - you have to keep looking them up for that particular program.
I'm fairly comfortable with them, having spent the 90s as a Perl programmer, and having used Vim as my default coding editor daily for almost 30 years during which time I collected a couple of postgraduate CS (not IT) degrees (which means I know automata theory better than most), and yet even I have to look regex stuff up on a per-product basis. I am skeptical that you can look at an expression and go "This will work in $x, $y and $z, but not in $a, $b and $c.", and if my skepticism is correct, then you have problems too, but just don't know it.
And that is why people have problems with them - you never quite know which contexts allow '.' to be used to match a period and which ones use '.' to mean "any character", which character classes in a "[]" is allowed, how many levels of escaping needs to be performed, which of the special characters should be escaped and which should not.
|
|
|
|
|
yikes, i forgot how complex regex can get. gives one a headache trying to parse them, much less compose one. very worthy topic though.
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
how about natural language to regex translator? such a thing? i am checking.
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
COBOL?
As the aircraft designer said, "Simplicate and add lightness".
PartsBin an Electronics Part Organizer - Release Version 1.3.0 JaxCoder.com
Latest Article: SimpleWizardUpdate
|
|
|
|
|
close
cobol brings back a lot programming memories
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
jmaida wrote: COBOL brings back a lot of programming memories
... and a good therapist helped me deal with them.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
Memories? I still use it.
Bond
Keep all things as simple as possible, but no simpler. -said someone, somewhere
|
|
|
|
|
Richard Attenborough voice in his semi-whisper:
Behold, the rare COBOL programmer in the wild, they used to roam in giant herds but are now solitary creatures. What will become of the banking ecosystem when the species becomes extinct?
I’ve given up trying to be calm. However, I am open to feeling slightly less agitated.
I’m begging you for the benefit of everyone, don’t be STUPID.
|
|
|
|
|
Richard Attenborough : Actor, Jurasic Park, The Great Escape ...
David Attenbourogh: Broadcaster and Biologist
They are brothers, though. But maybe you meant Richard?
"A little song, a little dance, a little seltzer down your pants"
Chuckles the clown
|
|
|
|
|
Yeah, I meant the one who narrates nature programs.
I’ve given up trying to be calm. However, I am open to feeling slightly less agitated.
I’m begging you for the benefit of everyone, don’t be STUPID.
|
|
|
|
|
|
need regex to natural language and vice versa
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
This alleged AI-powered generator got me close to what I needed today: https://www.regexgo.com/[^]
And this site was a great help in troubleshooting and refining the AI's results: https://regex101.com/[^]
Bonus: I still don't understand RegEx.
There are no solutions, only trade-offs. - Thomas Sowell
A day can really slip by when you're deliberately avoiding what you're supposed to do. - Calvin (Bill Watterson, Calvin & Hobbes)
|
|
|
|
|
I used ChatGPT precisely for that and it returned a decent regex with an explanation.
I needed to word my question in a manner that was generic but the result was actually helpful.
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
modified 14-Dec-23 1:50am.
|
|
|
|
|
cool. forgot chatgpt is hanging out there
"A little time, a little trouble, your better day"
Badfinger
|
|
|
|
|
I had exactly the dilemna you had - I was looking for a reverse regular expression parser i.e. create a regular expression from a desired result and an initial string and I thought I would give ChatGPT a go.
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
It seems like it would be difficult to describe a non-trivial match in human language.
Though you might be able to feed a regex expression to ChatGPT and ask it what it matches - sort of the reverse of what you suggested.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
A long time ago I wrote a tool.
The tool allowed you to multiply select portions of text and it would attempt to generate regexs that would only match the selected text
It didn't work very well, at least my implementation but I think the idea has merit.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
honey the codewitch wrote: A long time ago I wrote a tool.
Not so long ago I wrote a tool ...
Now I'm unemployed
"A little song, a little dance, a little seltzer down your pants"
Chuckles the clown
|
|
|
|
|
That's why you keep your tool to yourself.
Check out my IoT graphics library here:
https://honeythecodewitch.com/gfx
And my IoT UI/User Experience library here:
https://honeythecodewitch.com/uix
|
|
|
|
|
Not keeping your tool to yourself is one of the leading causes of dismissal, too.
"A little song, a little dance, a little seltzer down your pants"
Chuckles the clown
|
|
|
|
|
lordy...
"its a bad worker who blames their tools."
"there is no tool like an old tool."
"A little time, a little trouble, your better day"
Badfinger
modified 15-Dec-23 21:34pm.
|
|
|
|