php 正则表达式的使用
要点:php正则表达式要用双引号,且要用“/ /”斜线做开始结束。
1、preg_match 、 preg_match_all
两者的区别:第一次匹配成功后就会停止匹配,如果要实现全部结果的匹配,即搜索到subject结尾处,则需使用 preg_match_all()
int preg_match(pattern, subject)
int preg_match_all(pattern, subject, matches)
两者函数都是 返回值是0或1。找不到返回0。
//遍历“/log”文件夹,匹配文件名储存到数组 $logFileArr = scandir("/log");
$fileArr = "";
for($i=0; $i<count($logFileArr); $i++)
{
if(preg_match("/^JD_cloud.log[.]*[0-9]*$/",$logFileArr[$i],$m))
{
// print_r($m);
$fileArr[] = "/log/".$m[0];
}
}
NOTICE:
$str = "1,2,9";
if(preg_match("/^(([0-8]{1}),)*([0-8]{1})$/",$str,$matches))
{
print_r($matches);
echo "success";
}
else
{
echo "error";
}
如果正则表达式
/^(([0-8]{1}),)*([0-8]{1})$/
里没有加入^ $开关和结尾的正则符时,会出现匹配成功的情况。
- ^:表示匹配字符串的开始,也即该字符串是独立的开始而不是包含在某个字符串之内
- $:表示匹配字符串的结束,也即该字符串是独立的结束
2、根据正则表达式进行替换
mixed preg_replace(pattern, replacement, subject)
进行字符串或数组的正则表达式的替换。可替代preg_grep
<?
// 将“:”替换为“-”
$item = "F0:FF:20:DE:80"
$item = preg_replace("/:/","-",$item);
?>
3、在数组中查找符合的正则表达式的内容
array preg_grep ( string $pattern , array $input [, int $flags = 0 ] )
4、 一些常用的正则表达式
匹配Ip, 子网掩码, 网关
if(preg_match($preg_str, $ip)&& preg_match($preg_str,$gateway) && preg_match($preg_str,$submask) ) { if( (ip2long($ip) & ip2long($submask)) != (ip2long($gateway) & ip2long($submask)))
{
// $dataArr['NetmateGateway'] = $dataArr['NetmateIPAddr'];
$gateway = $ip;
} $cUsrConf->set_ini_file("network","ipaddr",$ip);
$cUsrConf->set_ini_file("network","gateway",$gateway);
$cUsrConf->set_ini_file("network","mask",$submask); }else{ $alertStr ="ip、子网掩码及网关设置不正确"; }
php 正则表达式的使用的更多相关文章
- JS正则表达式常用总结
正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...
- Python高手之路【五】python基础之正则表达式
下图列出了Python支持的正则表达式元字符和语法: 字符点:匹配任意一个字符 import re st = 'python' result = re.findall('p.t',st) print( ...
- C# 正则表达式大全
文章导读 正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串.正则表达式无疑是处理文本最有力的工具,而.NET提供的Regex类实现了验证正则表达式的方法.Regex 类表示不可变(只读)的 ...
- C#基础篇 - 正则表达式入门
1.基本概念 正则表达式(Regular Expression)就是用事先定义好的一些特定字符(元字符)或普通字符.及这些字符的组合,组成一个“规则字符串”,这个“规则字符串”用来判断我们给定的字符串 ...
- JavaScript正则表达式,你真的知道?
一.前言 粗浅的编写正则表达式,是造成性能瓶颈的主要原因.如下: var reg1 = /(A+A+)+B/; var reg2 = /AA+B/; 上述两个正则表达式,匹配效果是一样的,但是,效率就 ...
- Python 正则表达式入门(中级篇)
Python 正则表达式入门(中级篇) 初级篇链接:http://www.cnblogs.com/chuxiuhong/p/5885073.html 上一篇我们说在这一篇里,我们会介绍子表达式,向前向 ...
- 【JS基础】正则表达式
正则表达式的() [] {}有不同的意思. () 是为了提取匹配的字符串.表达式中有几个()就有几个相应的匹配字符串. (\s*)表示连续空格的字符串. []是定义匹配的字符范围.比如 [a-zA-Z ...
- JavaScript 正则表达式语法
定义 JavaScript定义正则表达式有两种方法. 1.RegExp构造函数 var pattern = new RegExp("[bc]at","i"); ...
- [jquery]jquery正则表达式验证(手机号、身份证号、中文名称)
数字判断方法:isNaN()函数 test()方法 判断字符串中是否匹配到正则表达式内容,返回的是boolean值 ( true / false ) // 验证中文名称 function isChin ...
- JS中给正则表达式加变量
前不久同事询问我js里面怎么给正则中添加变量的问题,遂写篇博客记录下. 一.字面量 其实当我们定义一个字符串,一个数组,一个对象等等的时候,我们习惯用字面量来定义,例如: var s = &quo ...
随机推荐
- 关于markdown的学习
标题 标题(一个等号) 小标题 深层标题 深层标题2 深层标题6 深层标题 左边一个空格 深层标题 左边两个空格 此处省略很多字 左边有回车 一个空格 两个空格 三个空格 十个空格 字体属性:斜体.加 ...
- 数据结构与算法分析 - 最短路(Dijkstra+floyd_Warshall+bellman_ford)
先附上Djikstra的代码:普通版 const int maxn=101; const int INF=0x3f3f3f3f; int edges[maxn][maxn]; int dist[max ...
- HTML5学习总结-11 IOS 控件WebView显示网页
一 加载外部网页 1.使用UIWebView加载网页 运行XCode 新建一个Single View Application . 2 添加安全消息 添加以下消息到项目的 Info.plist &l ...
- SQL Server编程(05)游标【转载】
在关系数据库中,我们对于查询的思考是面向集合的.而游标打破了这一规则,游标使得我们思考方式变为逐行进行.对于类C的开发人员来着,这样的思考方式会更加舒服. 正常面向集合的思维方式是: 而对于游标来说: ...
- centos6.5分区简易操作
fdisk /dev/sdb --->n--->p---->输入分区大小(回车就默认全部大小) mkfs.ext4 /dev/sdb1 mkdir /data 在根目录下新建data ...
- php ceil() 函数向上舍入为最接近的整数。
代码: <?php echo(ceil(0.60); echo(ceil(0.40); echo(ceil(); echo(ceil(5.1); echo(ceil(-5.1); echo(ce ...
- Django笔记-登陆注册-1
1.项目结构(eclipse+PyDev工具)(粘上来后代码缩进格式没有了,就先不整了) 2.关键代码: test_log03.settings.py INSTALLED_APPS = ( 'djan ...
- ASP.NET WebAPI 08 Message,HttpConfiguration,DependencyResolver
ASP.NET WebAPI 08 Message,HttpConfiguration,DependencyResolver Message WebAPI作为通信架构必定包含包含请求与响应两个方法 ...
- OC- .h与.m
1.只有利用类名调用类方法的时候,不需要在类名后面写*.其他情况下,类名后面统一加上一个* Circle *c1 = [Circle new]; - (BOOL)isInteractWithOther ...
- elasticsearch集群管理工具head插件(转)
elasticsearch-head是一个elasticsearch的集群管理工具,它是完全由html5编写的独立网页程序,你可以通过插件把它集成到es 插件安装方法1: 1.elasticsearc ...