You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

寻求可验证多行端口号(1-65535)的正则表达式方案

解决方案

1. 提取文本中所有有效端口

如果只需从多行文本里提取所有符合1-65535的有效端口(自动忽略空格、换行、分隔线等无关字符),用这个正则:

\b(?:[1-9]\d{0,3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])\b

说明:

  • \b:单词边界,确保匹配独立的端口号,避免误匹配类似65536里的6553,或带前导零的080(这类不符合端口规范)。
  • 端口范围拆分匹配:
    • [1-9]\d{0,3}:覆盖1-9999
    • [1-5]\d{4}:覆盖10000-59999
    • 6[0-4]\d{3}:覆盖60000-64999
    • 65[0-4]\d{2}:覆盖65000-65499
    • 655[0-2]\d:覆盖65500-65529
    • 6553[0-5]:覆盖65530-65535

2. 验证整个文本区域仅含有效端口及合法分隔符

如果需要确保输入的多行文本里只有有效端口(允许用空格、换行、逗号、横线等作为分隔符),用这个正则:

\A(?:(?:[1-9]\d{0,3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])(?:\s+|,|-))*(?:[1-9]\d{0,3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])?\z

说明:

  • \A和\z:匹配整个字符串的开头和结尾,确保全文本符合规则,不受换行干扰。
  • (?:\s+|,|-):可自定义的合法分隔符集合,\s+包含空格、换行、制表符等空白字符,可根据需求添加|等其他分隔符。
  • 末尾的?:允许文本为空,若需禁止空输入,直接删除该符号即可。

示例测试

针对输入:

80
443, 8080
22 - 21
  • 提取正则会匹配到80、443、8080、22、21
  • 验证正则会返回匹配成功,因为所有内容都是有效端口加合法分隔符

内容的提问来源于stack exchange,提问作者tsnov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 02:20:36