(?i)\b((?:(?:[a-z][\w-]+:)?(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))
  • marlowe221@lemmy.world
    link
    fedilink
    English
    arrow-up
    39
    ·
    13 hours ago

    This is an example of the old adage that “When you use a regex to solve a problem, you end up with two problems.”

  • neidu3@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    29
    ·
    edit-2
    14 hours ago

    Looks like an URL matcher of some sorts, that isn’t limited to HTTP. Kudos for handling parentheses as valid URL characters.

  • bleistift2@sopuli.xyz
    link
    fedilink
    English
    arrow-up
    16
    ·
    edit-2
    15 hours ago
    As visualized by Regex Vis [1]

    As visualized by Regexper [2]

    The regex fucks with the markdown, so I had to put them in code tags:

    [1] https://regex-vis.com/?r=%5Cb%28%28%3F%3A%28%3F%3A%5Ba-z%5D%5B%5Cw-%5D%2B%3A%29%3F%28%3F%3A%2F%7B1%2C3%7D%7C%5Ba-z0-9%25%5D%29%7Cwww%5Cd%7B0%2C3%7D%5B.%5D%7C%5Ba-z0-9.%5C-%5D%2B%5B.%5D%5Ba-z%5D%7B2%2C4%7D%2F%29%28%3F%3A%5B%5E%5Cs%28%29%3C%3E%5D%2B%7C%5C%28%28%5B%5E%5Cs%28%29%3C%3E%5D%2B%7C%28%5C%28%5B%5E%5Cs%28%29%3C%3E%5D%2B%5C%29%29%29*%5C%29%29%2B%28%3F%3A%5C%28%28%5B%5E%5Cs%28%29%3C%3E%5D%2B%7C%28%5C%28%5B%5E%5Cs%28%29%3C%3E%5D%2B%5C%29%29%29*%5C%29%7C%5B%5E%5Cs%60%21%28%29%5C%5B%5C%5D%7B%7D%3B%3A%27%22.%2C%3C%3E%3F%C2%AB%C2%BB%E2%80%9C%E2%80%9D%E2%80%98%E2%80%99%5D%29%29

    [2] https://regexper.com/#\b((?:(?:[a-z][\w-]%20:)?(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()%3C%3E]+|\(([^\s()%3C%3E]+|(\([^\s()%3C%3E]+\)))*\))+(?:\(([^\s()%3C%3E]+|(\([^\s()%3C%3E]+\)))*\)|[^\s%60!()\[\]{};:'%22.,%3C%3E?%C2%AB%C2%BB%E2%80%9C%E2%80%9D%E2%80%98%E2%80%99]))

    • Aatube@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      28
      ·
      14 hours ago

      check out Regulex! it doesn’t support mode modifiers but it does lack some features but i really like how its graphs look

  • Onno (VK6FLAB)@lemmy.radio
    link
    fedilink
    arrow-up
    14
    ·
    15 hours ago

    At first glance IP address or URL, embedded in HTML, whatever it is, it’s a doozy. I wonder what the performance of it is like.