• Breve@pawb.social
    link
    fedilink
    arrow-up
    1
    ·
    8 months ago

    I use regex in SQL to parse HTML stored in a database. It can’t universally parse and validate every HTML document, but it can still be used to find specific data like pulling out every link.

    • BluesF@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      8 months ago

      I don’t think that using regex to basically do regex stuff on strings that happen to also be HTML really counts as parsing HTML

  • jet@hackertalks.com
    link
    fedilink
    English
    arrow-up
    1
    ·
    8 months ago

    Putting a statement into old calligraphy is nice. But it all boils down to because I said so. If you’re going to go to that effort you might as well put the rationale for why it can’t possibly parse the language into the explanation rather than because I said so

    • TheOneCurly@lemm.ee
      link
      fedilink
      English
      arrow-up
      1
      ·
      8 months ago

      The section about “regular language” is the reason. That’s not being cheeky, that’s a technical term. It immediately dives into some complex set theory stuff but that’s the place to start understanding.

      • Blue_Morpho@lemmy.world
        link
        fedilink
        arrow-up
        0
        ·
        8 months ago

        English isn’t a regular language either. So that means you can’t use regex to parse text. But everyone does anyway.

          • Blue_Morpho@lemmy.world
            link
            fedilink
            arrow-up
            0
            ·
            edit-2
            8 months ago

            Parsing text is the reason regex was created!

            Page 1, Chapter 1, “Mastering Regular Expressions”, Friedl, O’Reilly 1997.

            " Introduction to Regular Expressions

            Here’s the scenario: you’re given the job of checking the pages on a web server for doubled words (such as “this this”), a common problem with documents sub- ject to heavy editing. Your job is to create a solution that will:

            Accept any number of files to check, report each line of each file that has doubled words, highlight (using standard ANSI escape sequences) each dou- bled word, and ensure that the source filename appears with each line in the report.

            Work across lines, even finding situations where a word at the end of one line is repeated at the beginning of the next.

            Find doubled words despite capitalization differences, such as with The the, as well as allow differing amounts of whitespace (spaces, tabs, new- lines, and the like) to lie between the words.

            Find doubled words even when separated by HTML tags. HTML tags are for marking up text on World Wide Web pages, for example, to make a word bold: it is <b>very</b> very important

            That’s certainly a tall order! But, it’s a real problem that needs to be solved. At one point while working on the manuscript for this book. I ran such a tool on what I’d written so far and was surprised at the way numerous doubled words had crept in. There are many programming languages one could use to solve the problem, but one with regular expression support can make the job substantially easier.

            Regular expressions are the key to powerful, flexible, and efficient text processing. Regular expressions themselves, with a general pattern notation almost like a mini programming language, allow you to describe and parse text… With additional sup- port provided by the particular tool being used, regular expressions can add, remove, isolate, and generally fold, spindle, and mutilate all kinds of text and data.

            Chapter 1: Introduction to Regular Expressions "

            • notabot@lemm.ee
              link
              fedilink
              arrow-up
              0
              ·
              8 months ago

              There’s a difference between ‘processing’ the text and ‘parsing’ it. The processing described in the section you posted it fine, and you can manage a similar level of processing on HTML. The tricky/impossible bit is parsing the languages. For instance you can’t write a regex that’ll relibly find the subject, object and verb in any english sentence, and you can’t write a regex that’ll break an HTML document down into a hierarchy of tags as regexs don’t support counting depth of recursion, and HTML is irregular anyway, meaning it can’t be reliably parsed with a regular parser.

              • Blue_Morpho@lemmy.world
                link
                fedilink
                arrow-up
                1
                ·
                8 months ago

                For instance you can’t write a regex that’ll relibly find the subject, object and verb in any english sentence

                Identifying parts of speech isn’t a requirement of the word parse. That’s the linguistic definition. In computer science identifying tokens is parsing.

                https://en.m.wikipedia.org/wiki/Parsing

    • gravitas_deficiency@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      2
      ·
      8 months ago

      ~he comes~

      he comes

      he comes

      h̵̝̖͂e̵͖͈͐ ̷̛̪̗̜̥̓̉́c̸̜͎̬̦̦̀̀̀͛̚o̴̳͙͂m̷̲̓͋͆́̃ȇ̷̯̞͚̹͗̉͝ͅs̵̹͔̜͕̖̅͗̂͌̀