zoukankan      html  css  js  c++  java
  • 一个有意思的正则

      在一个框架中偶然发现一段比较有意思的正则,到现在还没完全搞懂,先记录下.

      

     1 <?php
     2 /*
     3 $str = 'string';
     4 //第一个参数为正则 //是左右定界符, //就代表每个字符串都匹配
     5 //PREG_SPLIT_NO_EMPTY 不返回空的
     6 //第3个参数 代表分割多少个数组
     7 $chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);
     8 print_r($chars);
     9 exit();
    10 */
    11 
    12 $text = '1 2 3 4/5/6 "7/8 9" 10';
    13 // 空格或者/(可以多个)分割
    14 //$results = preg_split('~[ /]+~', $text); //Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => "7 [7] => 8 [8] => 9" [9] => 10 )
    15 
    16 // *匹配前面的[^"](非")的任意次
    17 $results = preg_split('~"[^"]*"(*SKIP)(*F)|[ /]+~', $text);
    18 print_r($results);
    19 /*
    20  * Array
    21 (
    22     [0] => 1
    23     [1] => 2
    24     [2] => 3
    25     [3] => 4
    26     [4] => 5
    27     [5] => 6
    28     [6] => "7/8 9"
    29     [7] => 10
    30 )
    31  *
    32  */

      google查了下 (*SKIP)(*F) 用法,全是英文,看完了似懂非懂,不过结合上面的的例子,大概能看出个所以然.

  • 相关阅读:
    spring4-2-bean配置-2-属性注入细节
    内存管理tcmalloc
    并发视频,怎么hold住高并发
    struts总结
    最近想玩的一个方向
    虚拟化技术漫谈
    陈硕的博客
    木铎
    安全编程资源-苹果
    POOL
  • 原文地址:https://www.cnblogs.com/loveyouyou616/p/5973104.html
Copyright © 2011-2022 走看看