1. <?php
  2. echo 'wj';
  3. echo '<br>';
  4. $file = '<td>移动150卡</td><!--<td></td>-->
  5. <td>广西省南宁市</td>';
  6. //$pattern = '/<td>[\x{4e00}-\x{9fa5}]+<\/td>/u';
  7. $pattern = '/移动150卡<\/td><!--<td><\/td>-->.+<td>广西省南宁市<\/td>/is';
  8. if(preg_match($pattern,$file,$pg)){
  9. print_r($pg);
  10. }
  11.  
  12. ?>

$msg = preg_replace("/<style>.+<\/style>/is", "", $msg); -----删除<style></style>和中间的部分 
$msg = preg_replace("/<[^>]+>/", "", $msg); -----是删除<>和中间的内容

  1. <?php
  2. echo 'wj';
  3. echo '<br>';
  4. /*
  5. $file = '<td>移动150卡</td><!--<td></td>-->
  6. <td>广西省南宁市</td>';
  7. */
  8. $file ='<td>广西省南宁市</td>';
  9. $pattern = '/<td>[\x{4e00}-\x{9fa5}]+<\/td>/u';
  10. //$pattern = '/移动150卡<\/td><!--<td><\/td>-->.+<td>广西省南宁市<\/td>/is';
  11. if(preg_match($pattern,$file,$pg)){
  12. print_r($pg);
  13. }
  14.  
  15. ?>

如果上面的代码不能识别出中文(Array ( [0] => 广西省南宁市 )),是因为test.php文件的编码问题,将test.php文件的编码方式更改为utf-8即可。就匹配成功。

i (PCRE_CASELESS) 
如果设定此修正符,模式中的字符将同时匹配大小写字母。 
s (PCRE_DOTALL) 
如果设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,包括换行符。没有此设定的话,则不包括换行符。这和 Perl 的 /s 修正符是等效的。排除字符类例如 [^a] 总是匹配换行符的,无论是否设定了此修正符。

.表示除了换行符之外的所有符号

[0-9]+表示一位或者多位的数字

  1. <?php
  2. echo 'wj';
  3. echo '<br>';
  4. $file = '<td>移动150卡</td><!--<td></td>-->
  5. <td>广西省南宁市</td>';
  6. //$pattern = '/<td>[\x{4e00}-\x{9fa5}]+<\/td>/u';
  7. //$pattern = '/移动150卡<\/td><!--<td><\/td>-->.+<td>广西省南宁市<\/td>/is';
  8. $pattern = '/移动150卡<\/td><!--<td><\/td>-->\r\n<td>.+<\/td>/i';
  9. if(preg_match($pattern,$file,$pg)){
  10. print_r($pg);
  11. }
  12.  
  13. ?>

输出Array ( [0] => 移动150卡 广西省南宁市 )

  1. //强制序列化问题修复--begin
  2. String str = gson.toJson(ntcInfoVO);
  3. String regex="\\w{3}\\s{1}\\d{1,2}\\,\\s{1}\\d{4}\\s{1}\\d{1,2}:\\d{1,2}:\\d{1,2}\\s{1}(AM|PM){1}";
  4. Pattern pattern = Pattern.compile(regex);
  5. Matcher matcher = pattern.matcher(str);
  6. while (matcher.find()) {
  7. String tmp = matcher.group();
  8. String res =convertDateFormate(tmp);
  9. if (null != tmp && tmp.length() > 0 && null != res) {
  10. str = str.replaceAll(tmp, res);
  11. } else {
  12. str = str.replaceAll(tmp, ""); //替换失败的话则替换为空字符串
  13. }
  14. }
  15. //强制序列化问题修复--end
  16.  
  17. /**
  18. * 将序列化异常的时间值矫正回来
  19. * @param startDate
  20. * @return
  21. */
  22. private static String convertDateFormate(String date) {
  23. if (date.length() > 0 && (date.contains("AM") || date.contains("PM"))) {
  24. SimpleDateFormat sdf = new SimpleDateFormat("MMM d, yyyy K:m:s a",Locale.US);
  25. Date dateTime = null;
  26. try {
  27. if (date.contains("12:00:00 AM")) {
  28. date = date.replace("12:00:00 AM", "00:00:00 AM");
  29. }
  30. dateTime = sdf.parse(date);
  31. SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  32. return sdf2.format(dateTime);
  33. } catch (ParseException e) {
  34. log.error("转换时间失败:", e);
  35. }
  36. }
  37. return null;
  38. }

php正则表达式总结的更多相关文章

  1. JS正则表达式常用总结

    正则表达式的创建 JS正则表达式的创建有两种方式: new RegExp() 和 直接字面量. //使用RegExp对象创建 var regObj = new RegExp("(^\\s+) ...

  2. Python高手之路【五】python基础之正则表达式

    下图列出了Python支持的正则表达式元字符和语法: 字符点:匹配任意一个字符 import re st = 'python' result = re.findall('p.t',st) print( ...

  3. C# 正则表达式大全

    文章导读 正则表达式的本质是使用一系列特殊字符模式,来表示某一类字符串.正则表达式无疑是处理文本最有力的工具,而.NET提供的Regex类实现了验证正则表达式的方法.Regex 类表示不可变(只读)的 ...

  4. C#基础篇 - 正则表达式入门

    1.基本概念 正则表达式(Regular Expression)就是用事先定义好的一些特定字符(元字符)或普通字符.及这些字符的组合,组成一个“规则字符串”,这个“规则字符串”用来判断我们给定的字符串 ...

  5. JavaScript正则表达式,你真的知道?

    一.前言 粗浅的编写正则表达式,是造成性能瓶颈的主要原因.如下: var reg1 = /(A+A+)+B/; var reg2 = /AA+B/; 上述两个正则表达式,匹配效果是一样的,但是,效率就 ...

  6. Python 正则表达式入门(中级篇)

    Python 正则表达式入门(中级篇) 初级篇链接:http://www.cnblogs.com/chuxiuhong/p/5885073.html 上一篇我们说在这一篇里,我们会介绍子表达式,向前向 ...

  7. 【JS基础】正则表达式

    正则表达式的() [] {}有不同的意思. () 是为了提取匹配的字符串.表达式中有几个()就有几个相应的匹配字符串. (\s*)表示连续空格的字符串. []是定义匹配的字符范围.比如 [a-zA-Z ...

  8. JavaScript 正则表达式语法

    定义 JavaScript定义正则表达式有两种方法. 1.RegExp构造函数 var pattern = new RegExp("[bc]at","i"); ...

  9. [jquery]jquery正则表达式验证(手机号、身份证号、中文名称)

    数字判断方法:isNaN()函数 test()方法 判断字符串中是否匹配到正则表达式内容,返回的是boolean值 ( true / false ) // 验证中文名称 function isChin ...

  10. JS中给正则表达式加变量

    前不久同事询问我js里面怎么给正则中添加变量的问题,遂写篇博客记录下.   一.字面量 其实当我们定义一个字符串,一个数组,一个对象等等的时候,我们习惯用字面量来定义,例如: var s = &quo ...

随机推荐

  1. (转载)最实用的清除浮动代码 css的文字过长裁剪后面跟着省略号

    css: .clearfloat:after{display:block;clear:both;content:"";visibility:hidden;} .clearfloat ...

  2. 9 Palindrome Number(判断是否为回文数Easy)

    题目意思:判断是否为回文数,不许使用额外空间 ps:一直不理解额外空间的意思,int能用吗 思路:1.比较头尾 2.翻转,越界问题需考虑 class Solution { public: bool i ...

  3. 【记录】在MAC上安装caffe

    ---恢复内容开始--- 最近尝试在MAC(OS X 10.11 El Capitan)上安装Caffe 以及Python接口遇到了一些问题但是官方安装教程上并没有提出这些问题的解决办法搜索了很久(主 ...

  4. CodeForces 474B(标记用法)

    CodeForces 474B Time Limit:1000MS Memory Limit:262144KB   64bit IO Format:%I64d & %I64u Descript ...

  5. bzoj2067: [Poi2004]SZN

    Description String-Toys joint-stock 公司需要你帮他们解决一个问题. 他们想制造一个没有环的连通图模型. 每个图都是由一些顶点和特定数量的边构成. 每个顶点都可以连向 ...

  6. JS之路——浏览器window对象

    window对象的方法 window.alert(msg) window.close() window.print() var a = window.setIntval(function,毫秒) // ...

  7. ajax+json数据传输

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  8. linux mount / umount 命令的基本用法

    linux mount / umount 命令的基本用法 及 开机自动挂载 格式:mount [-参数] [设备名称] [挂载点] 其中常用的参数有: -a 安装在/etc/fstab文件中类出的所有 ...

  9. 微博广告推荐中有关Hadoop的那些事

    一.背景 微博,一个DAU上亿.每日发博量几千万的社交性产品,拥有庞大的数据集.如何高效得从如此规模的数据集中挖掘出有价值的信息,以增强用户粘性,提高信息传播速度,就成了重中之重.因此,我们引入了ha ...

  10. windows 编程 —— 菜单以及其他资源

    目录: 1.资源的种类 2.资源的定义方法(IDE:VC++) 3.资源的获取 4.资源的使用与消息处理函数   1.资源的种类 windows 的常用的资源包括:图示 .游标. 字符串. 自订资源. ...