php ipv6正则表达式程序代码
ipv6正则表达式
代码如下 | 复制代码 |
/^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*$/ |
php判断ipv6
代码如下 | 复制代码 |
<?php $reg = "/^s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))(%.+)?s*$/"; $ipv6 = "fe80:0000:0000:0000:0204:61ff:fe9d:f156"; // IPv6地址 if(preg_match($reg, $ipv6)) { echo '我是ipv6!!!'; } |
?>
本文章来给各位同学详细介绍php用正则表达式去除空白行的一些方法总结,有需要了解的同学不防进入参考。去除字符串内部的空行:
代码如下 | 复制代码 |
$str = preg_replace("/(s*?r?ns*?)+/","n",$str); |
去除全部的空行,包括内部和头尾:
代码如下 | 复制代码 |
$str = preg_replace('/($s*$)|(^s*^)/m', '',$str); |
上面演示了两个语法,下面我来给各位同学介绍
代码如下 | 复制代码 |
$newhtml=preg_replace("/(r?n)\1+/","\1",$newhtml); echo preg_replace('/($s*$)|(^s*^)/m', '', $str); 完美解决:victory: $a = 'gdgdga
fefe'; |
从上面看我们就知道是替换回车,换行,连续的空格了。
一个简单的PHP防止JS注入正则代码,有需要了解的同学可参考。例子
代码如下 | 复制代码 |
$a ="/<script[^>]*?>.*?</script>/si"; |
其它方法
代码如下 | 复制代码 |
<?php |
程序代码
代码如下 | 复制代码 |
<?php
$p=($_GET['p']-1)*40;//页码 $html = file_get_contents("http://s.taobao.com/search?q=".$keywords."&pid=mm_17149866_0_0&s=".$p."#J_relative");//pid可以自己修改 preg_match_all ("|<img src="(.*)" /></span>|U",$html,$img_array);//提取图片 preg_match_all('/<h3 class="summary"><a .*?href="(.*?)".*?>/is',$html,$match);//提取超链接 $c=count($match[1]); for($i=0;$i<$c;$i++) { echo '<a href='.$match[1][$i].'><img src="'.$img_array[1][$i].'"></a>'; } ?> |
可以用字符作为一个通配符来代替除换行符(n)之外的任一个字符。例如,正则表达式:
.at
可以与"cat"、"sat"、"#at"和"mat"等进行匹配。主要是用于在搜索文件时
也可以指定一个字符集:
[a-z]at
在方括号([])中的内容都是一个字符类--- 一个被匹配字符所属的字符集合。但是只匹配其中的一个字符。
同时我们也可以给出一个集合。
[aeiou]
可以用来表示元音字母。
也可以用来表示一个范围。也可以是一个范围集:
[a-zA-Z]
这个范围集代表任何的大小字母。
此外,还可以用集合来指明字符不属于某个集。例如:
[^a-z]
可以用来匹配任何不在a和z之间的字符。当把脱胎换骨字符号(^)包括在方括号里面时,表示否。
重复次数
"*"表示这个模式可以被重复0次或更多次,符号"+"则表示这个模式可以被重复1次或更多次。
[[:alnum:]]+
表示至少有一个字母。
子表达式
(very)*large
可以匹配 very large 、 large 、very very large 等。
子表达式记数
可以用在花括号({})中的数字表达式来指定内容允许重复的次数。可以指定一个确切的数字({3}表示重复3次),或者一个重复次数的范围
({2,4}表示重复2~4次),或是一个开底的重复范围({2,}表示至少要重复2次).
例如:
(very){1,3}
表示匹配"very"、"very very"、"very very very"。
定位到字符串的开始或末尾
脱字符号(^)用于正则表达式的开始,表示子字符串必须出现在被搜索字符串的开始字符处,字符"$"用于正则表达式的末尾。表示子字符串必
须出现在字符串的末尾。
例,以下是在字符串开始处匹配bob:
^bob
这个模式将匹配com出现在字符串末尾处的字符串:
com$
最后,这个模式将匹配只包含a到z之间一个字符的字符串:
^[a-z]$
分支
可以使用正则表达式中的一条竖线来表示一个选择。例如,如果要匹配com、edu或net,就可以使用如下所示的表达示:
com|edu|net
匹配特殊字符
如果要匹配特殊字符,例如,.、{或者$,就必须在它们前面加一个反斜杠()。如果要匹配一个反斜杠,则必须用两个反斜杠(\)来表示.
在PHP中,必须将正则表达式模式包括在一个单引号字符串中.
在POSIX正则表达式中,用于方括号外面特殊字符的摘要
字符 意义 字符 意义
转意字符 ) 子模式的结束
^ 在字符串开始匹配 * 重复0次或更多次
$ 在字符串末尾匹配 + 重复1次或更多次
. 匹配除换行符(n)之外的字符 { 最小/最大量记号的开始
| 选择分支的开始(或) } 最小/最大量记号的结束
( 子模式的开始 ? 标记一个子模式为可选的
在POSIX正则表达式中,用于方括号里面的特殊字符
字符 意义
转意字符
^ 非,仅用在开始位置
- 用于指明字符范围
常用的正则表达式
1、非负整数:”^d+$”
2、正整数:”^[0-9]*[1-9][0-9]*$”
3、非正整数:”^((-d+)|(0+))$”
4、负整数:”^-[0-9]*[1-9][0-9]*$”
5、整数:”^-?d+$”
6、非负浮点数:”^d+(.d+)?$”
7、正浮点数:”^((0-9)+.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*.[0-9]+)|([0-9]*[1-9][0-9]*))$”
8、非正浮点数:”^((-d+.d+)?)|(0+(.0+)?))$”
9、负浮点数:”^(-((正浮点数正则式)))$”
10、英文字符串:”^[A-Za-z]+$”
11、英文大写串:”^[A-Z]+$”
12、英文小写串:”^[a-z]+$”
13、英文字符数字串:”^[A-Za-z0-9]+$”
14、英数字加下划线串:”^w+$”
15、E-mail地址:”^[w-]+(.[w-]+)*@[w-]+(.[w-]+)+$”
16、URL:”^[a-zA-Z]+://(w+(-w+)*)(.(w+(-w+)*))*(?s*)?$”
相关文章
- 这篇文章主要介绍了C#开发Windows窗体应用程序的简单操作步骤,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-04-12
- 本文通过例子,讲述了C++调用C#的DLL程序的方法,作出了以下总结,下面就让我们一起来学习吧。...2020-06-25
- 取双引号内的内容我们如果一个字符串中只有一个可以使用explode来获得,但如果有多个需要使用正则表达式来提取了,具体的例子如下。 写程序的时候总结一点经验,如何只...2016-11-25
- 本文通过两个示例讲解了一下Process类调用外部应用程序的基本用法,并简单讲解了StartInfo属性,有需要的朋友可以参考一下。...2020-06-25
- 这篇文章主要介绍了微信小程序 页面传值详解的相关资料,需要的朋友可以参考下...2017-03-13
- 大概有如下步骤 新建项目Bejs 新建文件package.json 新建文件Gruntfile.js 命令行执行grunt任务 一、新建项目Bejs源码放在src下,该目录有两个js文件,selector.js和ajax.js。编译后代码放在dest,这个grunt会...2014-06-07
- 这篇文章主要介绍了uniapp微信小程序:key失效的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-20
- 今天遇到一个正则匹配的问题,忽然翻到有捕获组的概念,手册上也是一略而过,百度时无意翻到C#和Java中有对正则捕获组的特殊用法,搜索关键词有PHP时竟然没有相关内容,自己试了一下,发现在PHP中也是可行的,于是总结一下,分享的同...2015-11-08
- 本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
将c#编写的程序打包成应用程序的实现步骤分享(安装,卸载) 图文
时常会写用c#一些程序,但如何将他们和photoshop一样的大型软件打成一个压缩包,以便于发布....2020-06-25- 正则表达式是一门非常有用的并且进行模糊判断的一个功能了,我们下面来看通过正则来验证输入汉字、英语、数字,具体如下。 收藏了正则表达式。可以验证只能输入数...2016-11-25
- 这篇文章主要介绍了java正则表达式判断前端参数修改表中另一个字段的值,需要的朋友可以参考下...2021-05-07
- 常用的日期时间正则表达式 下面收藏了大量的日期时间正则匹配函数,包括分钟,时间与秒都能达到。 正则表达式 (?n:^(?=d)((?<day>31(?!(.0?[2469]|11))|30(?!.0?2)|29(...2016-11-25
- 这篇文章主要介绍了微信小程序 网络请求(GET请求)详解的相关资料,需要的朋友可以参考下...2016-11-22
- 这篇文章主要给大家介绍了关于微信小程序如何获取图片宽度与高度的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-10
- 这篇文章主要介绍了微信小程序 二维码生成工具 weapp-qrcode详解,教大家如何在项目中引入weapp-qrcode.js文件,通过实例代码给大家介绍的非常详细,需要的朋友可以参考下...2021-10-23
- 网址规则是可寻的,所以我们可以使用正则表达式来提取字符串中的url地址了,下面一起来看看小编整理的几个PHP正则表达式匹配验证提取网址URL实例. 匹配网址 URL 的...2016-11-25
- 这篇文章主要为大家详细介绍了微信小程序自定义tabbar组件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-03-14
- 这篇文章主要介绍了Python爬取微信小程序通用方法代码实例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-09-29
- 这篇文章主要介绍了微信小程序手势操作之单触摸点与多触摸点的相关资料,需要的朋友可以参考下...2017-03-13