this post was submitted on 29 Feb 2024
338 points (96.2% liked)

linuxmemes

21225 readers
97 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack members of the community for any reason.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn. Even if you watch it on a Linux machine.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.

  • Please report posts and comments that break these rules!

    founded 1 year ago
    MODERATORS
     
    you are viewing a single comment's thread
    view the rest of the comments
    [–] hperrin 11 points 8 months ago* (last edited 8 months ago) (1 children)

    Technically, regex can’t pull out every link in an HTML document without potentially pulling fake links.

    Take this example (using curly braces instead of angle brackets, because html is valid markdown):

    {template id="link-template"}
        {a href="javascript:void(0);"}link{/a}
    {/template}
    

    That’s perfectly valid HTML, but you wouldn’t want to pull that link out, and POSIX regex can’t really avoid it. At least not with just a single regex. Imagine a link nested within like 3 template tags.

    [–] [email protected] 3 points 8 months ago (1 children)

    Yes, I said in my original comment that it can't universally parse and validate every HTML document. If they're older pages that don't do lots of crazy formatting then it's not too hard to use regex as a first pass then take a second pass through the results to weed out the odd stuff.

    [–] hperrin 8 points 8 months ago* (last edited 8 months ago)

    I would argue that that is not parsing. That’s just pattern matching. For something to be parsing a document, it would have to have some “understanding” of the structure of the document. Since regex is not powerful enough to correctly “understand” the document, it’s not parsing.