如题
1
lzhd24 2023-02-17 17:21:54 +08:00 via Android
不可以,建议用其他命令
|
2
v2eb 2023-02-17 17:26:18 +08:00 via Android
来个示例
|
3
eason1874 2023-02-17 17:28:32 +08:00
连续 IP 就用 CIDR 判断,不连续就用表,要是嫌字符串太大可以先把 IP 转为整数
|
7
yigecaiji 2023-02-17 17:31:50 +08:00 via Android 1
^(?!(特定 IP1|特定 IP2|特定 IP3)\b)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$
chatgpt 给的,我试了几个简单的 ip 是可以用的。 |
8
retrocode 2023-02-17 17:33:58 +08:00
以下是使用 JavaScript 编写的正则表达式,用于匹配除了特定的 IP 地址之外的所有 IP 地址:
```javascript const regex = /^(?!特定 IP 地址 1$|特定 IP 地址 2$|特定 IP 地址 3$)(\d{1,3}\.){3}\d{1,3}$/; // 用例 const ip1 = "192.168.0.1"; const ip2 = "特定 IP 地址 1"; const ip3 = "10.0.0.1"; console.log(regex.test(ip1)); // true console.log(regex.test(ip2)); // false console.log(regex.test(ip3)); // true ``` 在这个 JavaScript 正则表达式中,与之前的正则表达式相同,使用了负向零宽断言 (?!...) 来匹配除了特定的 IP 地址之外的所有 IP 地址。该正则表达式还使用了捕获组 ( ) 来匹配由点分隔的四个数字组成的 IP 地址,并使用量词 {1,3} 来指定每个数字的取值范围。 你需要将 特定 IP 地址 1 ,特定 IP 地址 2 和 特定 IP 地址 3 替换为你想要排除的实际 IP 地址。 |
12
v2eb 2023-02-17 17:39:51 +08:00 via Android
估计进来的都是 ip, 检验不严格的话尝试这个
"!(特定 ip|特定 ip)" 还是机器好用, 自己想的费劲 |
14
dcsuibian 2023-02-17 17:43:46 +08:00
有库的就用库,别光用正则,很多时候对规则不够了解反而会增加 bug 且使代码阅读困难
|
15
InDom 2023-02-17 17:44:20 +08:00
请注意给 IP 中间的 . 加 \ 转义
|
17
lzgshsj 2023-02-17 17:56:57 +08:00
这下被 chatgpt 替代了😵
|
18
snw 2023-02-19 00:23:08 +08:00 via Android
ChatGPT 给的这答案虽然能用,但有些怪。
要是输入的本来就是合法 IP ,那么后面直接用.*捕捉就行。 要是输入的不保证是合法 IP ,那么应该用准确的 IP 正则判断,不然来个 256.256.256.256 也过了。 |