Presi300,
@Presi300@lemmy.world avatar

Regex can be explained? I thought it was all just arcane runes, only understood by the 60 year old unix wizards, who created it in the 1st place…

ExLisper,

You have a problem. You decide to use regex to solve it. No you have two problems.

IronKrill,

Regex’s are not something you need AI for as there are already tools that explain them for you. Use regexr.com or a similar tool.

Taringano,

Yeha, also anything else has plenty of books and internet content on them so you really don’t need AI for those too.

corsicanguppy,

Regex’s

Foxes

Boxes

Hexes

Regexes

You can do it. You too can pluralize without an apostrophe.

Malgas,

Oxen

Children

Brethren

Regexen

MajorHavoc,

I’ve begun to understand that the modern meaning of an apostrophe is “oh shit! Here comes an ‘s’”.

Sadly, I am gradually growing okay with that idea.

IronKrill,

Thanks for pointing that out, it’s a bad habit I’ve picked up!

canni,

____ are not something you need AI for as there are already tools that explain ____ for you. Use Wikipedia or a similar tool.

IronKrill,

I don’t agree that AI has no uses, you just have to know when to use it. There are multiple times I have scoured documentation and official forums of a niche tool to few results only to ask ChatGPT and get far closer to my goal in 2 minutes than I did in 30. I know the AI has to be getting that info from somewhere, but if Google, Reddit, and a forum search can’t find it then I am sorry but I am going to ask an AI.

deafboy,
@deafboy@lemmy.world avatar

Groups multiple tokens together and creates a capture group for extracting a substring or using a backreference

With an explanation like this, I thing I’ll take the AI.

Immersive_Matthew,

I got the “error in moderation” today today too when I asked it to make me a ghost with the beard and body type of Santa Claus. Like it knows Santa is not a real person right?

TxTechnician,

Ya, it’s a generic error from the looks of it. Didn’t know what error to throw when it went down, so it appears to have defaulted to this.

umbraroze,
@umbraroze@kbin.social avatar

Error in Moderation

Could have been worse. Could have been an Error in Excess.

backhdlp,
@backhdlp@lemmy.blahaj.zone avatar

I still don’t understand regex at all

Norgur,

//////?-.,", duh,?!

Nougat,

Nobody does.

FUsername,
@FUsername@feddit.de avatar

My guess is, that someone started with a small share of features to find a simple solution for the problem, but the complexity of the problem got waaaay out of hand.

Prunebutt,

Regexes are actually used in formal computer science (if that’s the right term), i.e. “proof that this and that algorithm won’t deadlock” or something like that.

They’re actually really elegant and can cover a lot. But you’ll have to learn them by using them.

naptera,

For the purpose of algorithm verification, the final and/or pushdown automaton or probably sometimes even Turing Machines are used, because they are easier to work with. “Real” regular expressions are only nice to write a grammar for regular languages which can be easily interpreted by the computer I think. The thing is, that regexs in the *nix and programming language world are also used for searching which is why there are additional special characters to indicate things like: “it has to end with …” and there are shortcuts for when you want that a character or sequence occurs

  • at least once,
  • once or never or
  • a specified number of times back to back.

In “standard” regex, you would only have

  • () for grouping,
    • for 0 or any number of occurances (so a* means blank or a or aa or …)
    • as combining two characters/groups with exclusive or (in programming, a+ is mostly the same as aa* so this is a difference)
  • and sometimes some way to have a shortcut for (a+b+c+…+z) if you want to allow any lower case character as the next one

So there are only 4 characters which have the same expressive power as the extended syntax with the exception of not being able to indicate, that it should occur at the end or beginning of a string/line (which could even be removed if one would have implemented different functions or options for the tools we now have instead)

So one could say that *nix regex is bloated /s

loafty_loafey,

You are probably thinking of Temporal logic which allows us to model if algorithms and programs terminate etc! It can be represented by using state machines tho!

Prunebutt,

It’s been a while, so I’m quite rusty, especiallyeon the terminology, but I think we modelled feasible sequences of finite and infinite state machines using regexes.

That’s how I was forced to learn 'em in uni. ;)

loafty_loafey,

Ohhh I must be confusing the two! But yea, Regex is just NDAs in text form! The course I have had on it is one of my favorites! Really fun stuff

loafty_loafey,

Regex is actually just a way to write (Epsilon) non determistic state automata(ε-NDA) using text! ε-NDA comes from automata theory and they are just a somewhat powerful way to describe state machines! They can kind of be seen as a stepping stone to things like Context-Free Grammars which is what language parsers use to define their language/parsers, and Turing machines! Regex is a fundamental part of computer science, and they are of course incredibly useful in string validation due to their expressive power! If you study at uni and get the chance to take a course in automata theory I recommend it! Personal favorite subject :)

qaz,

What part do you not understand?

backhdlp,
@backhdlp@lemmy.blahaj.zone avatar

Yes

BestBouclettes,

.*

qaz,

So you do not understand nothing? That’s great to hear.

alphafalcon,

No, No, they don’t understand everything and nothing!

qaz,

Both statements match 😄

tostiman,
@tostiman@sh.itjust.works avatar

Regexes are write-only. No one can understand other peoples regexes

mayoi,

That’s why they don’t belong anywhere outside single line bash commands.

aniki,

deleted_by_author

  • Loading...
  • mayoi,

    Use of regex in production code is a sign of incompetence.

    aniki,

    deleted_by_author

  • Loading...
  • mayoi,

    I am, and I can think of many cases where plain dumb string matching since you know what you’re dealing with beats regex in both performance and maintainability.

    You’re a clown that wouldn’t know how to compare two strings without regex even if you got paid 6 figures to do it.

    aniki,

    deleted_by_author

  • Loading...
  • mayoi,

    Perfect pair of words for every solution that involves a regex.

    aniki,

    deleted_by_author

  • Loading...
  • mayoi,

    Regextard doesn’t even know how to use case insensitive matching, incredible.

    rwhitisissle,

    There’s a lot of use cases where regex makes a lot of sense: complex log parsing, determining if a value entered is a valid phone number or email, syntax highlighting, data validation in ML preprocessing, etc. A lot of languages also come with certain features that allow regex to be more efficient than dumb string matching, such as the ability to pre-compile patterns and the flexibility of being able to choose between deterministic and non-deterministic finite automata, should you need efficiency for one use case and flexibility for another. It really depends on what you’re designing and how it’s going to be used, of course.

    Seasoned_Greetings,

    He’s a troll. He said earlier today that the holocaust wasn’t bad because “not all the jews died”

    He’s just trying to pick a fight

    Tathas,

    That’s also 'cause other people’s regex are garbage!

    Bene7rddso,

    Not only other people’s regexes. Mine from last week and before too

    tostiman,
    @tostiman@sh.itjust.works avatar

    Haha

    FooBarrington,

    It’s really not too bad as long as:

    • you use a proper IDE (e.g. Regex101) with highlighting and piecewise explanations
    • you use named capturing groups
    • you give the regex a descriptive name in your code
    blackbirdbiryani,

    People write regex in notepad and complain it doesn’t work on the first try…

    d_k_bo,

    I recommend using regex101.com

    It explains all parts of your regex and highlights all matches in your example text. I usually add a comment to a regex101 playground if I use a regex in code.

    aniki,

    deleted_by_author

  • Loading...
  • FooBarrington,

    I taught myself Regex using Regex101, so something doesn’t add up here.

    aniki,

    deleted_by_author

  • Loading...
  • FooBarrington,

    Does every Regex contain a reverse negative lookup? Do I need to know how to do a reverse negative lookup to write a Regex?

    If not, why are you asking?

    aniki,

    deleted_by_author

  • Loading...
  • FooBarrington,

    I have written dozens upon dozens of Regexes without using reverse negative lookups, but I guess according to you I don’t really know Regexes because I haven’t used those specific features?

    You don’t need to know all about a subject to know a subject.

    aniki,

    deleted_by_author

  • Loading...
  • FooBarrington,

    I’m not sure why you’re bringing up efficiency, I’m not talking about that. If I don’t understand a topic, I can’t do things with the topic. I use Regexes, so I must at least somewhat understand Regexes.

    I’m saying if you look at my code, and I write a lot of negative lookups in dev ops for data validation, you can’t read my code. It’s nothing personal.

    Well, earlier you were saying that I don’t know Regexes if I don’t know reverse negative lookups. Funnily enough Regex101 would help me understand your code in this case, so you were wrong on that count too.

    mayoi,

    Dev ops wagie thinks he’s a programmer, lmfao.

    Seasoned_Greetings,

    God, you’re so full of yourself it’s hard to even read

    cybersandwich,

    Lol. I doubt the inventors of regex know all of regex

    doostein,

    I disagree. I found it to be incredibly useful when I knew what regex was and that I needed it, but I couldn’t piece together a single string with it.

    18107,

    The plural of regex is regrets.

    mindbleach,

    It’s pattern-matching. Like searching *.txt to get all text files. It’s just… more. There’s symbols for matching the start of a string, the end of a string, a set of characters, repetition, etc. Very “etc.” And the syntax blows. The choices of . for match-any-character and * for zero-or-more really fuck with common expectations.

    It can also replace substrings that match. Like changing the file extension of all text files. Where it gets properly difficult is in “capture groups.” Like looking for all file extensions, and sticking a tilde after the dot. You can put parentheses around part of the pattern being matched and then reference that in the replacement. Conceptually simple - pain in the ass to use properly - syntax both sucks and blows.

    Lookahead is what you do to match “ass” but not “assault.” I refuse to elaborate further.

    cmnybo,

    This is proof that regex even confuses the bots.

    ik5pvx,

    May be our own path to survive the AI rebellion.

    kautau,

    Maybe the goal wasn’t to stop the AIs but the aaaaaaaaaaaaaaaaaaaaaaaa! we made along the way.

    (For reference: owasp.org/…/Regular_expression_Denial_of_Service_…)

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • uselessserver093
  • Food
  • aaaaaaacccccccce
  • [email protected]
  • test
  • CafeMeta
  • testmag
  • MUD
  • RhythmGameZone
  • RSS
  • dabs
  • Socialism
  • KbinCafe
  • TheResearchGuardian
  • oklahoma
  • feritale
  • SuperSentai
  • KamenRider
  • All magazines