首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从数字列表构建表达式

从数字列表构建表达式
EN

Stack Overflow用户
提问于 2021-11-12 19:55:04
回答 1查看 59关注 0票数 0

我有一个数字(交换机端口)的变量列表,我需要将其构建到一个字符串中,该字符串指示哪些端口应该“包括”,哪些端口应该“排除”。以下是所需格式的示例:

代码语言:javascript
运行
复制
(Port 1[!(0-2 | 4-9)] | Port 4[!(0-3 | 5)])*

在本例中,如果我的号码是1-19和40- 45,则端口1、端口3和端口44将包括在内,而端口10-12、14-19、40-43和45将被排除。

我事先不知道端口列表中会出现哪些数字。我如何构建这个表达式?

EN

回答 1

Stack Overflow用户

发布于 2021-11-13 15:26:10

如果我把它理解为正则表达式的话...1-9和20-39是其他情况。因此包括1-9,13,20-39,44。

代码语言:javascript
运行
复制
1..9 + 13 + 20..39 + 44 | % tostring 'port 0' | 
  select-string 'port [1-9]$|port 1[^0-2,4-9]|port [2-3][0-9]|port 4[^0-3,5]'

port 1
port 2
port 3
...


10..12 + 14..19 + 40..43 + 45 | % tostring 'port 0' | 
  select-string 'port [1-9]$|port 1[^0-2,4-9]|port [2-3][0-9]|port 4[^0-3,5]'
# no output

或者只是检查字符串是否在集合中:

代码语言:javascript
运行
复制
$include = 1..9 + 13 + 20..39 + 44 | % tostring 'port 0'
1..45 | % tostring 'port 0' | where { $_ -in $include }

port 1
port 2
port 3
...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69948413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档