RegEx用于传递URL和失败的CIDR掩码

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (25)

我有可以是URL或CIDR块的字符串。我想确定字符串是否是URL的路径,例如:

/9this can be/a/path123
/test
/r

或者CIDR-mask(/0to /32):

/24
/12
/32

我希望正则表达式从匹配中排除CIDR掩码。

这是我到目前为止:

^[/?]((?!([0-9]|[1-2][0-9]|3[0-2]))(?=[\S]))[\S ]*$

哪个有效,除了URL路径以数字开头的情况:

/23example

如果重要的话,我在Go编码。

提问于
用户回答回答于

我怀疑你可能想要一个复杂的表达式来传递那些,也许只是添加一个带有2加alpha的量词会传递它。也许,类似于这样的表达就足够了:

(.+?[a-z]{2,}[0-9]?.+)

DEMO

正则表达式

如果不希望这个表达式或我的假设不正确,可以在regex101.com中修改或更改

RegEx电路

jex.im还有助于可视化表达式。

用户回答回答于

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动