Regular expression to match DNS hostname or IP Address?

后端 未结 21 2545
长发绾君心
长发绾君心 2020-11-21 07:25

Does anyone have a regular expression handy that will match any legal DNS hostname or IP address?

It\'s easy to write one that works 95% of the time, but I\'m hoping

21条回答
  •  滥情空心
    2020-11-21 07:48

    To match a valid IP address use the following regex:

    (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]?)){3}
    

    instead of:

    ([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])(\.([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])){3}
    

    Explanation

    Many regex engine match the first possibility in the OR sequence. For instance, try the following regex:

    10.48.0.200
    

    Test

    Test the difference between good vs bad

提交回复
热议问题