通过PHP自带的服务器来查看正则匹配结果的方法


Posted in PHP onDecember 24, 2015

众所周知,PHP代码需要web服务器来执行,要测试PHP代码就得搭建一个web服务器,这就给我们平时学习带来了较多不便。不过好在PHP v5.4版本以后,PHP会自带一个功能简单的web服务器。

启动内置web服务器

首先,进入自定义的web文件夹,然后启动内置web服务器:

cd ~/public_html
php -S localhost:8000

端口号8000是自定义的,换成其他未使用端口均可。

启动后,控制界面如下所示:

通过PHP自带的服务器来查看正则匹配结果的方法

测试内置服务器

在public_html文件夹下建立test.php,

<?php
phpinfo();
?>

然后在浏览器中访问localhost:8000/test.php,应该就可以看到php的信息页面:

通过PHP自带的服务器来查看正则匹配结果的方法

正则匹配
我们来看下PHP进行正则匹配的一个简单例子:

<?php
$subject = 'abc3def';
$pattern = '/c\dde/';
preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?>

可以通过PHP的内置web服务器来查看运行结果,不出意外的话你可以看到如下输出,

Array
(
  [0] => Array
  (
    [0] => c3de
    [1] => 2
  )
)

接下来我们来仔细分析这个代码。

preg_match函数

preg_match函数的原型是int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )。其中pattern即为正则表达式,subject是被匹配的字符串,后面的都是可选参数。代码中的PREG_OFFSET_CAPTURE即为flags值,作用就是将匹配结果的偏移量同匹配结果一起输出至matches变量中,默认只将匹配结果输出至matches中。关于该函数的详细说明,请参看preg_match官方文档。

正则表达式

代码中的‘/c\def/'即为正则表达式,在大多数程序中,正则表达式都被置于两个正斜杠之间。\d表示匹配数字,因此代码中的正则表达式匹配的是c数字def的字符串。关于正则表达式的更多语法,可以参看正则表达式30分钟入门教程。这里顺便提一点,正则表达式的第二个斜杠之后可以添加一个模式修饰符。最简单的模式修饰符就是i,匹配时忽略大小写。例如,正则表达式/def/匹配字符串abcDef会失败,而/def/i匹配字符串abcDef则会成功。更多的模式修饰符可参看模式修饰符。

print_r函数

print_r函数打印一个变量易于理解的信息。不同于print和echo只能打印字符串、整型等普通变量,print_r还可以打印array变量以及object变量,并以易于理解的格式输出。讲到这再延伸讲下,PHP中还有一个经常会用到的打印信息的函数,就是var_dump函数。正如函数的名称一样,这个函数经常在调试下使用,除了能打印变量的值,还能打印变量的类型。

PHP 相关文章推荐
我的群发邮件程序
Oct 09 PHP
php中echo()和print()、require()和include()等易混淆函数的区别
Feb 22 PHP
php 计划任务 检测用户连接状态
Mar 29 PHP
PHP函数microtime()用法与说明
Dec 04 PHP
PHP生成自定义长度随机字符串的函数分享
May 04 PHP
CI框架开发新浪微博登录接口源码完整版
May 28 PHP
php实现可用于mysql,mssql,pg数据库操作类
Dec 13 PHP
php函数重载的替代方法--伪重载详解
May 08 PHP
微信支付开发维权通知实例
Jul 12 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
Jun 19 PHP
PDO::prepare讲解
Jan 29 PHP
PHP上传图片到数据库并显示的实例代码
Dec 20 PHP
在openSUSE42.1下编译安装PHP7 的方法
Dec 24 #PHP
在Mac OS上自行编译安装Apache服务器和PHP解释器
Dec 24 #PHP
PHP实现文件上传和多文件上传
Dec 24 #PHP
纯PHP代码实现支付宝批量付款
Dec 24 #PHP
PHP文件上传问题汇总(文件大小检测、大文件上传处理)
Dec 24 #PHP
4种PHP异步执行的常用方式
Dec 24 #PHP
php实现异步数据调用的方法
Dec 24 #PHP
You might like
php fsockopen中多线程问题的解决办法[翻译]
2011/11/09 PHP
关于IIS php调用com组件的权限问题
2012/01/11 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
js直接编辑当前cookie的脚本
2008/09/14 Javascript
node.js 一个简单的页面输出实现代码
2012/03/07 Javascript
Jquery index()方法 获取相应元素索引值
2012/10/12 Javascript
JS Pro-深入面向对象的程序设计之继承的详解
2013/05/07 Javascript
固定背景实现的背景滚动特效示例分享
2013/05/19 Javascript
禁用JavaScript控制台调试的方法
2014/03/07 Javascript
js通过iframe加载外部网页的实现代码
2015/04/05 Javascript
前端jquery部分很精彩
2016/05/03 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
2016/12/13 Javascript
angular.js指令中的controller、compile与link函数的不同之处
2017/05/10 Javascript
webstorm添加vue.js支持的方法教程
2017/07/05 Javascript
JS常用跨域方法实现原理解析
2020/12/09 Javascript
[01:20]DOTA2更新全新英雄 天涯墨客现已加入游戏
2018/08/25 DOTA
Python中声明只包含一个元素的元组数据方法
2014/08/25 Python
Python读写/追加excel文件Demo分享
2018/05/03 Python
python版opencv摄像头人脸实时检测方法
2018/08/03 Python
Python文件读写常见用法总结
2019/02/22 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
2019/06/28 Python
Numpy之将矩阵拉成向量的实例
2019/11/30 Python
Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
2020/06/14 Python
python脚本第一行如何写
2020/08/30 Python
自荐信的两点禁忌
2013/10/30 职场文书
人力资源管理毕业生自荐信
2013/11/21 职场文书
销售找工作求职信
2013/12/20 职场文书
美容师的职业规划书
2013/12/27 职场文书
买房协议书
2014/04/11 职场文书
财会专业毕业生自荐信
2014/07/09 职场文书
小学师德师风演讲稿
2014/09/02 职场文书
办公用房租赁协议书
2014/11/29 职场文书
开发一个封装iframe的vue组件
2021/03/29 Vue.js
python 实现图与图之间的间距调整subplots_adjust
2021/05/21 Python