PHP正则表达式相关

行定位符 开头 ^tm 结尾 tm$ 不限制 tm

单词定界符 \btm\b   单词tm,如果想取反的话就是大写的 \Btm\B

或的关系,[Tt][Mm] 可以表达 tm Tm TM tM

POSIX风格预定义字符类

选择字符(|)  T|tM|m 意思是可以T或者t开头。后面跟着一个字母M或者m

使用[]和使用|的区别在于[]只能匹配单个字符,而|可以匹配多个字符 TM|tm|Tm|tM.

范围 [a-zA-Z]等价于[abc..zABC..Z]

排除字符[^]  不是以字符开头的 [^a-zA-Z]

限定符号

符号(.),.可以匹配除了换行意外的任何一个字符

^s.t$   可以表示 sat sbt sct..如果想是第一个字符是r,第三个字符是s,最后一个字符是t则可以 ^r.s.*t$

反斜线相关(\)

括号 (thri|four)th

反向引用(it)\1  是表示两个it

模式修饰符

POSIX扩展正则表达式函数

1.

bool ereg/eregi(string pattern ,string string,[array regs])

String中匹配string存在regs里(*i不区分大小写)

2.

string ereg/eregi_replace(string s1 .string s2 ,string s3)

S3中匹配S1,匹配成功就用s2来替换。

3.

Array split/spliti(string s1 ,string s2 ,[int limit]);

使用s1分割s2,最大次数限制limit

PCRE兼容正则表达式函数

1.

Array preg_grep(string s1 ,array s2)

使用s2中的元素意义匹配表达式s1,最后返回匹配成功组成的数组

2.

Int preg_match/preg_match_all(string s1 ,string s2,[array s3])

用s1去匹配s2,函数返回匹配次数,如果有数组s3那么每次匹配的结果豆浆存储到s3中。没有all的匹配一个,有all的匹配所有。

3.

String preg_quote(string s1 ,[string s2])

该函数将s1中所有特别字符进行自动转意。如果有s2的话也转意。

4.

Mixed preg_replace(mixed s1 ,mixed s2 ,mixed ,s3 ,[int limit])

字符换替换。

5.

Mixed preg_replace_callback(mixed s1 ,callback callback ,mixed s2 ,[int limit])

该函数与preg_replace()函数功能一样。都用于查找和替换字符串。不同的是该函数使用一个回调函数来替换replacement参数。

6.

Array preg_split(string s1 ,strin s2 ,[int limit])

分割字符串

PHP数组

声明

<?php
    $array = array("asp","php" ,"jsp");
    print_r($array);
?>

Array ( [0] => asp [1] => php [2] => jsp )

关联数组

<?php
    $array = array("f"=>1,"s"=>2 ,"t"=>3);
    print_r($array);
?>

Array ( [f] => 1 [s] => 2 [t] => 3 )

数组输出函数print_r(array);

二维数组

<?php
    $array = array("1"=>array(1.1,1.2,1.3),"2"=>array(2.1,2.2,2.3,2.4));
    print_r($array);
?>

Array([1]=>Array([0]=>1.1 [1]=>1.2[2]=>1.3)[2]=>Array([0]=>2.1[1]=>2.2[2]=>2.3[3]=>2.4))

数组遍历foreach($array as $i){echo $i} 或者list函数。

字符串与数组的转换 explode()函数。

<?php
    $str1 = "1.2.3.4.5";
    $str2 = explode("." ,$str1);
    print_r ($str2);
?>

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )

String implode(string s1 ,array s2)把数组合成一个字符串,中间用s1连接。

Int count(mixed array ,[int mode])统计元素个数

Mixed array_search(mixed needle ,array array ,[bool strict])

Array_pop()取出最后一个元素。

array_push()增加一个元素

Array_unique()去重

4.PHP正则表达式与数组的更多相关文章

  1. php正则表达式、数组

    <?php $s = "he8llo5wor6ld"; $s = preg_replace("/\d/","#",$s);按照正则表达 ...

  2. PHP正则表达式;数组:for()遍历、 foreach ()遍历、each()list()组合遍历;指针遍历

    正则表达式:    1.定界符号        任何字符,一般用  //    2. 模式修正符i        写在定界符外面后面,可不区分大小写    3.preg_replace($reg,&q ...

  3. php正则表达式and数组

    <?php //正则表达式 //斜杠代表定界符 /^$/ /* $str="abcde123fg456h"; $reg="/\d/"; echo preg ...

  4. 使用正则表达式和数组形式获取get方法传入的值

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  5. PHP数组——数组正则表达式、数组、预定义数组

    正则表达式 1.替换 $s = "hello5world"; $s = preg_replace("/\d/","#",$s); echo ...

  6. PHP数组(数组正则表达式、数组、预定义数组)

    正则表达式 1.替换 $s = "hello5world"; $s = preg_replace("/\d/","#",$s); echo ...

  7. php正则表达式和数组

    一.正则表达式 1. “/”代表定界符,"^"代表起始符号,"$"代表结束符号 $str1="abc123def45ghjk6789lou" ...

  8. Oracle存储过程例子:运用了正则表达式、数组等

    代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-- ...

  9. C语言正则表达式详解 regcomp() regexec() regfree()详解

    标准的C和C++都不支持正则表达式,但有一些函数库可以辅助C/C++程序员完成这一功能,其中最著名的当数Philip Hazel的Perl-Compatible Regular Expression库 ...

随机推荐

  1. Graylog日志管理单机部署、日志节点的Sidecar配置以及简单的警告事件邮件发送

    应该是上个星期的上个星期,下了个任务,要做Graylog的部署以及文档,emmm....带log,肯定是和日志有关系了呗,不过也没听过啊,去搜了一下,确实,也不少帖子博客相关的都有安装部署,还是yum ...

  2. PTA 求链式表的表长

    6-1 求链式表的表长 (10 分)   本题要求实现一个函数,求链式表的表长. 函数接口定义: int Length( List L ); 其中List结构定义如下: typedef struct ...

  3. 学《跟我一起写Makefile》笔记发博词

    目录 笔记发博词 参考 笔记发博词 本系列笔记主要记录学了<跟我一起写Makefile>后的一些笔记 由于<跟我一起写Makefile>已经写得很详细了,所以我只是提取其中重要 ...

  4. java 基础知识储备

    初始JAVA JAVA 帝国的诞生 1972年C诞生 贴近硬件,运行极快,效率极高. 操作系统,编译器,数据库,网络系统等 指针和内存管理 1982年C++诞生 面向对象 兼容C 图形领域.游戏等 纵 ...

  5. CodeForces571A. Lengthening Sticks(组合数学-容斥)

    题目大意: a,b,c三根木棍可以增加三个不同的数字,aa,bb,cc,且aa+bb+cc<=L,问能构成三角形的木棒有多少种方案 题目思路: 如果我们直接考虑把L分配给aa,bb,cc好像不好 ...

  6. ls:未找到命令

    解决,别问为什么. 执行 export PATH=/bin:/usr/bin:$PATH

  7. Python 网络编程 C/S建立Socket连接

    分为客户端和服务端 服务端 server.py 客户端 1 #coding=utf-8 2 import socket 3 4 client = socket.socket() #生成socket连接 ...

  8. 【ProLog - 3.0 进阶:递归】

    [ProLog中的递归] 如果递归中的一个或多个规则引用谓词本身,则对该谓词使用"递归"定义 在使用时,这往往像一条食物链或者族谱的构成(A的爸爸的爸爸,即A的爷爷,是A的长辈) ...

  9. 使用Vanilla框架制作时间倒数器 ——JavaScript

    一.制作时间倒数器要求以及思路:   1.首先创建三个输入字段,分别是小时,分钟和秒,以及"开始"按钮.输入的初始值必须为0h 5m 0s.当用户输入小时,分钟和秒并单击" ...

  10. 中小型前端团队代码规范工程化最佳实践 - ESLint

    前言 There are a thousand Hamlets in a thousand people's eyes. 一千个程序员,就有一千种代码风格.在前端开发中,有几个至今还在争论的代码风格差 ...