gpt4 book ai didi

javascript - 正则表达式以匹配由空格分隔的多个子网

转载 作者:行者123 更新时间:2023-11-29 23:15:49 25 4
gpt4 key购买 nike

当前正则表达式匹配由 空格 分隔的多个子网 rexp =/^([01]?\d\d?|2[0-4]\d|25[0 -5])(?:\.[01]?\d\d?|2[0-4]\d|25[0-5]){3}(?:\/[0-2]\d |\/3[0-2])?$(\s(^([01]?\d\d?|2[0-4]\d|25[0-5])(?:\.[ 01]?\d\d?|2[0-4]\d|25[0-5]){3}(?:\/[0-2]\d|\/3[0-2]) ?$))*$/)

测试字符串 192.168.2.1/24 192.168.2.1/32

最佳答案

您的正则表达式似乎已损坏。你可以试试这个:

^([01]?\d\d?|2[0-4]\d|25[0-5])(?:\.[01]?\d\d?|2[0-4]\d|25[0-5]){3}(?:\/[0-2]\d|\/3[0-2])?(\s+([01]?\d\d?|2[0-4]\d|25[0-5])(?:\.[01]?\d\d?|2[0-4]\d|25[0-5]){3}(?:\/[0-2]\d|\/3[0-2]))*$

另一种选择是使用 Javascript 解析字符串并为每个部分使用更简单的正则表达式。这是一个例子:

const s = '192.168.2.1/24 192.168.2.1/32 250.161.23.1/32 0.1.2.1/01';
const pattern = /([01]?\d\d?|2[0-4]\d|25[0-5])(?:\.[01]?\d\d?|2[0-4]\d|25[0-5]){3}(?:\/[0-2]\d|\/3[0-2])/;
const result = s.trim().split(/\s+/).map(e => e.match(pattern) != null).reduce((result, next) => result && next, true);
console.log(result);

这打印:

true

关于javascript - 正则表达式以匹配由空格分隔的多个子网,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52841454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com