• IP Addresses

    Matching an IP address is another good example of a trade-off between regex complexity and exactness. \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b will match any IP address just fine, but will also match 999.999.999.999 as if it were a valid IP address. Whether this is a problem depends on the files or data you intend to apply the regex to. To restrict all 4 numbers in the IP address to 0..255, you can use the following regex. It stores each of the 4 numbers of the IP address into a capturing group. You can use these groups to further process the IP number. Free-spacing mode allows this to fit the width of the page.
    \b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.
      (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.
      (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.
      (25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b

    If you don't need access to the individual numbers, you can shorten the regex with a quantifier to:
    \b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}
      (?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b


    Similarly, you can shorten the quick regex to \b(?:\d{1,3}\.){3}\d{1,3}\b
  • You might also like

    No comments:

    Post a Comment

    Good day precious one, We love you more than anything.

Powered by Blogger.