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

前端之家收集整理的这篇文章主要介绍了正则表达式之<六>使用子表达式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如&nbasp;{2,} 本意是想把&nbasp;出现两次或多次的找出来,但实际上确是
&nbasp;;;;
为什么会这样呢?因为{2,}只作用于紧挨着他的前一个字符;
这就引出了子表达式。

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

上面的改为(&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
表示为:
( (\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5])\.){3}( (\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))

猜你在找的正则表达式相关文章