PHP 正则 空字符 / NUL字符

\xnn 匹配中ASCII代码十六进制代码为nn的字符。
[\x00-\x7F] 匹配ASCII值从0-127的字符。
0-127表示单字节字符,也就是:数字,英文字符,半角符号,以及某些控制字符。

 

正则示例:

复制代码
<?php

$test_str = 'a'.chr(0).'bcdefj'.chr(0).'h';

//ASCII码中十进制 0 对应 十六进制 00
$hex_str = '\x00';

$pattern =  sprintf('/a%s[0-9a-zA-Z]{6}%sh/',$hex_str,$hex_str);

preg_match_all($pattern,$test_str,$output); 
var_dump($output);


$test_str = 'a'.chr(31).'bcdefj'.chr(31).'h';

//ASCII码中十进制 31 对应 十六进制 1F
$hex_str = '\x1F';

$pattern =  sprintf('/a%s[0-9a-zA-Z]{6}%sh/',$hex_str,$hex_str);

preg_match_all($pattern,$test_str,$output); 
var_dump($output);
复制代码

 

posted @ 2018-10-12 11:46  phpdragon  阅读(1716)  评论(0)    收藏  举报
编辑推荐:
· 别做抢活的导演:代码中的抽象层次原则
· 从 Redis 客户端超时到 .NET 线程池挑战
· C23和C++26的#embed嵌入资源指南
· 「EF Core」框架是如何识别实体类的属性和主键的
· 独立开发,这条路可行吗?
阅读排行:
· 他没买 iPad,而是花了半年时间,为所有“穷学生”写了个笔记神器
· Visual Studio 现已支持新的、更简洁的解决方案文件(slnx)格式
· 从 Redis 客户端超时到 .NET 线程池挑战:饥饿、窃取与阻塞的全景解析
· 2025年中总结:我想我克服公众演讲的恐惧了,一个社恐分子突破自我的故事
· 3.1k star!推荐一款开源基于AI实现的浏览器自动化插件工具 !
点击右上角即可分享
微信分享提示