PHP 正则表达式匹配中文字符
例如在 MySQL 的 bin-log 文件中选取特定的数据库语句来恢复数据时,只要选出某个库的 INSERT INTO 操作(去掉了多余信息,只列出 SQL 语句)
INSERT INTO `crm_member` (`id`,`name`) values (,'甄士隐')
INSERT INTO `app_member` (`id`,`name`) values (,'dee')
INSERT INTO `crm_member` (`id`,`name`) values (,'emperor')
INSERT INTO `crm_member` (`id`,`name`) values (,'贾雨村')
只想选出 crm_member 表的 insert 操作时,可以使用 perg_match_all 函数
<?php
header('Content-type:text/html;charset=utf-8');
$content = "INSERT INTO `crm_member` (`id`,`name`) values (1,'甄士隐')
INSERT INTO `app_member` (`id`,`name`) values (2,'dee')
INSERT INTO `crm_member` (`id`,`name`) values (3,'emperor')
INSERT INTO `crm_member` (`id`,`name`) values (4,'贾雨村')
";
preg_match_all('/INSERT INTO `crm_member[ -~\x{4e00}-\x{9fa5}]+/u', $content, $matches);
$str = implode(";\r\n", $matches[0]);
echo $str;
浏览器右键查看源代码查看输出的结果:
INSERT INTO `crm_member` (`id`,`name`) values (1,'甄士隐');
INSERT INTO `crm_member` (`id`,`name`) values (3,'emperor');
INSERT INTO `crm_member` (`id`,`name`) values (4,'贾雨村')
说明:
模式修饰符 /u:
此修正符打开一个与perl不兼容的附加功能.
模式字符串被认为是utf-8的.
这个修饰符 从unix版php 4.1.0或更高, win32版php 4.2.3开始可用.
php 4.3.5开始检查模式的utf-8合法性.
This modifier turns on additional functionality of PCRE that is incompatible with Perl.
Pattern strings are treated as UTF-8.
This modifier is available from PHP 4.1.0 or greater on Unix and from PHP 4.2.3 on win32.
UTF-8 validity of the pattern is checked since PHP 4.3.5.
(参考:PHP正则表达式 /i, /s, /x,/u, /U, /A, /D, /S等模式修饰符)
[\x{4e00}-\x{9fa5}]
代表匹配中文
PHP 正则表达式匹配中文字符的更多相关文章
- Python从文件中读取字符串,用正则表达式匹配中文字符的问题
2013-07-27 21:01:37| 在Windows下,用Python从.txt文件中读取字符串,并用正则表达式匹配中文,在网上看了方法,用的时候发现中文没有被匹配. ...
- PHP正则表达式匹配中文字符
网上有很多类似的文章,但往往都不能用 所以记录一下 preg_match_all("/([\x{4e00}-\x{9fa5}])/u", $input, $match); 注意:限 ...
- 匹配中文字符的正则表达式: [/u4e00-/u9fa5]
原文:匹配中文字符的正则表达式: [/u4e00-/u9fa5] 这里是几个主要非英文语系字符范围(google上找到的): 2E80-33FFh:中日韩符号区.收容康熙字典部首.中日韩辅助部首.注音 ...
- Sublime 、NotePad++中查找匹配中文字符
在Sublime .NotePad++中可以使用正则表达式 [\x{4e00}-\x{9fa5}] 查找匹配中文字符.
- C#正则表达式匹配任意字符
原文:C#正则表达式匹配任意字符 不得不说正则很强大,尤其在字符串搜索上 匹配任意字符,包括汉字,换行符: [\s\S]*. 版权声明:本文为博主原创文章,未经博主允许不得转载.
- [\u4e00-\u9fa5] //匹配中文字符
[\u4e00-\u9fa5] //匹配中文字符 ^[1-9]\d*$ //匹配正整数^[A-Za-z]+$ //匹配由26个英文字母组成的字符串^[A-Z]+$ //匹配由26 ...
- sublimetext 使用正则表达式匹配中文
[\x{4e00}-\x{9fa5}] ============================================= 参考资料 1.在javascript下正确的\x4e00-\x9fa ...
- PHP正则表达式匹配俄文字符
之前弄过匹配中文的 见 http://www.cnblogs.com/toumingbai/p/4688433.html preg_match_all("/([\x{0400}-\x{04F ...
- Python 正则表达式 匹配任意字符
.(句点)匹配除了换行之外的所有一个字符, .*(点-星)匹配除了换行外的所有字符 >>> >>> r=re.compile(r'.*')>>> ...
随机推荐
- jQuery UI Datepicker
http://www.runoob.com/try/try.php?filename=jqueryui-example-datepicker-dropdown-month-year <!doct ...
- java22
1:登录注册IO版本案例(掌握) 要求,对着写一遍. cn.itcast.pojo User cn.itcast.dao UserDao cn.itcast.dao.impl UserDaoImpl( ...
- testng教程之testng.xml的配置和使用,以及参数传递
昨天学习了一下testng基础教程,http://www.cnblogs.com/tobecrazy/p/4579414.html 昨天主要学习的是testng 的annotation基本用法和生命周 ...
- caffe初试(一)happynear的caffe-windows版本的配置及遇到的问题
之前已经配置过一次caffe环境了: Caffe初试(一)win7_64bit+VS2013+Opencv2.4.10+CUDA6.5配置Caffe环境 但其中也提到,编译时,用到了cuda6.5,但 ...
- Sublime Text 2报“Decode error - output not utf-8”错误的解决办法
[Decode error - output not utf-8] [Decode error - output not utf-8] 应该怎么办? 这是因为python配置的编译环境的编码不 ...
- delphi.memory.分配及释放---New/Dispose, GetMem/FreeMem及其它函数的区别与相同
我估摸着内存分配+释放是个基础函数,有些人可能没注意此类函数或细究,但我觉得还是弄明白的好. 介绍下面内存函数前,先说一下MM的一些过程,如不关心可忽略: TMemoryManager = recor ...
- AgileEAS.NET SOA 中间件平台.Net Socket通信框架-完整应用例子-在线聊天室系统-下载配置
一.AgileEAS.NET SOA中间件Socket/Tcp框架介绍 在文章AgileEAS.NET SOA 中间件平台Socket/Tcp通信框架介绍一文之中我们对AgileEAS.NET SOA ...
- [MongoDB]Mongo基本使用:
汇总: 1. [MongoDB]安装MongoDB2. [MongoDB]Mongo基本使用:3. [MongoDB]MongoDB的优缺点及与关系型数据库的比较4. [MongoDB]MongoDB ...
- 注解:【有连接表的】Hibernate双向1->N关联 (N端、1端同时参与控制关联关系)
Person与Address关联:双向1->N,[有连接表的],N端.1端同时参与控制关联关系 Person.java package org.crazyit.app.domain; impor ...
- 使用Flexible实现手淘H5页面的终端适配
拿到设计师给的设计图之后,剩下的事情是前端开发人员的事了.而手淘经过多年的摸索和实战,总结了一套移动端适配的方案--flexible方案. 这种方案具体在实际开发中如何使用,暂时先卖个关子,在继续详细 ...