正则表达式之<六>使用子表达式

如&nbasp;{2,} 本意是想把&nbasp;出现两次或多次的找出来,但实际上确是
&nbasp;;;;
为什么会这样呢?因为{2,}只作用于紧挨着他的前一个字符;
这就引出了子表达式。

把一个表达式划分为一系列子表达式的目的是为了把那些子表达式当作一个独立的整体元素来使用。[color=red][b]子表达式必须用()[/b][/color]括起来。

上面的改为(&nbasp;){2}就可以了。

1.正则逼表达式是只是一种工具,还是一种不懂数学运算的工具。你的数学再好这里也帮不上什么忙。
那么如何去表示一个IP?
0.0.0.0-255.255.255.255

假设写成:
([\d{1,3}\.]){3}\d{1,3}

这样的话0-999都能匹配了。

怎么办?
0-255可以拆分成:
0-99 表示:\d{1,2}
100-199 表示:1\d{2}
200-249 表示:2[0-4]\d
250-255 表示:25[0-5]

0-255就可以表示成:
(\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5])

最终结果应该为:
0.0.0.0-255.255.255.255
表示为:
([color=red][b](\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5])\.[/b][/color]){3}([color=red][b](\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5])[/b][/color])
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值