使用Layabox引擎中正则表达式匹配IP
2018-03-29 23:41
260 查看
首先确定两点:
1.一个合法的ip,是包含4组0-255之前的数字,并有符号"."进行分隔。
2.Laybox中正则表达式使用原生ActionScript中的正则表达式实现,并不支持\d匹配数字简写。
先来分析下如何来匹配:
1.我们需要匹配0-255的数字 然后 接着一个 “.” 这样匹配三次 ,最后再接一个0-255的数字
2.在匹配的时候我们必须使用^与$两个元字符来限定ip地址的开头与结尾
因此我们先分析一个0-255的数字要如何匹配:
0-255的数字可能包含几种情况,包括10以下,10-199,200-249,250-255这么几种情况,因此我们可以如下来进行匹配:[01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5],第一个分隔符前匹配10以下以及10-199两种情况,中间匹配200-249,最后匹配250-255
然后在数字之和会接着是一个“.”号,注意“.”在正则表达式中是一个元字符,表示任意字符,需要使用转译字符“\”,因此我们可以如下匹配一个IP:
^([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\. ([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])$
观察上面一串字符,显得有点长,并且每匹配一个数字除了最后一个没有跟“.”其余都跟着一个“.”,因此可以将最后一个单独匹配,前面3个单独匹配,这样就得到
^(([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.){3}([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])$
{3}表示前面的匹配3次,这样就可以通过这个表达式成功匹配一个IP啦。根据不同语言或不同引擎实现会有所差别,请慎用。
1.一个合法的ip,是包含4组0-255之前的数字,并有符号"."进行分隔。
2.Laybox中正则表达式使用原生ActionScript中的正则表达式实现,并不支持\d匹配数字简写。
先来分析下如何来匹配:
1.我们需要匹配0-255的数字 然后 接着一个 “.” 这样匹配三次 ,最后再接一个0-255的数字
2.在匹配的时候我们必须使用^与$两个元字符来限定ip地址的开头与结尾
因此我们先分析一个0-255的数字要如何匹配:
0-255的数字可能包含几种情况,包括10以下,10-199,200-249,250-255这么几种情况,因此我们可以如下来进行匹配:[01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5],第一个分隔符前匹配10以下以及10-199两种情况,中间匹配200-249,最后匹配250-255
然后在数字之和会接着是一个“.”号,注意“.”在正则表达式中是一个元字符,表示任意字符,需要使用转译字符“\”,因此我们可以如下匹配一个IP:
^([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\. ([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])$
观察上面一串字符,显得有点长,并且每匹配一个数字除了最后一个没有跟“.”其余都跟着一个“.”,因此可以将最后一个单独匹配,前面3个单独匹配,这样就得到
^(([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.){3}([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])$
{3}表示前面的匹配3次,这样就可以通过这个表达式成功匹配一个IP啦。根据不同语言或不同引擎实现会有所差别,请慎用。
相关文章推荐
- perl 自定义包/模块的使用(正则表达式匹配email地址和ip)
- 使用Java正则表达式匹配IP
- perl 自定义包/模块的使用(正则表达式匹配email地址和ip)
- 匹配IP正则表达式
- 正则表达式匹配IP和月日
- 匹配 IP 地址与域名的正则表达式
- PowerShell中使用正则表达式跨行匹配字符串的方法
- JAVA 正则表达式:使用group方法计算匹配到的字符串个数
- VC中使用ATL库实现正则表达式匹配(ADODB::Error)
- python里使用正则表达式来替换匹配成功的组名
- 使用Hive的正则表达式匹配数据时为NULL
- 在C#中使用正则表达式自动匹配并获取所需要的数据 (转)
- T_SQL中使用正则表达式匹配查询结果
- 使用正则表达式匹配中文
- 使用正则表达式 。从一个字符串中找出数字,多次匹配。
- 详解python里使用正则表达式的全匹配功能
- 【推荐】c# .net 使用正则表达式匹配嵌套Html标签
- iOS App开发中Objective-C使用正则表达式进行匹配的方法
- 关于一个使用正则表达式匹配来写的显示时间的方法
- 在C#中使用正则表达式自动匹配并获取所需要的数据