带有可选端口的 ip 地址 v4 的正则表达式
Regex for ip addres v4 with optional port
我在检测带有可选端口的 ip 地址 v4 模式的输入时遇到问题
我只找到了 ip 地址 v4 的模式
这是仅适用于 ipv4 的代码
/\b(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\b/
我希望正则表达式可以读取,例如:
192.168.11.11 或 192.168.11.11:8000
就目前而言,您的正则表达式将匹配 IP 地址。如果您还希望它与端口匹配,只需在最后一个单词边界之前添加一个可选的 non-capturing 以获取 :
后跟 0-4
数字:
(?::\d{0,4})?\b
这将创建以下内容:
/\b(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)(?::\d{0,4})?\b/
与您的两个输入匹配:
const regex = /\b(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)(?::\d{0,4})?\b/;
console.log(regex.test('192.168.11.11'));
console.log(regex.test('192.168.11.11:8000'));
我在检测带有可选端口的 ip 地址 v4 模式的输入时遇到问题
我只找到了 ip 地址 v4 的模式
这是仅适用于 ipv4 的代码
/\b(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\b/
我希望正则表达式可以读取,例如: 192.168.11.11 或 192.168.11.11:8000
就目前而言,您的正则表达式将匹配 IP 地址。如果您还希望它与端口匹配,只需在最后一个单词边界之前添加一个可选的 non-capturing 以获取 :
后跟 0-4
数字:
(?::\d{0,4})?\b
这将创建以下内容:
/\b(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)(?::\d{0,4})?\b/
与您的两个输入匹配:
const regex = /\b(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)(?::\d{0,4})?\b/;
console.log(regex.test('192.168.11.11'));
console.log(regex.test('192.168.11.11:8000'));