php学习随记3

<?php

	#正则表达式
	#就是一种描述字符串结构的语法规则
	#是一个特定的格式化模式
    
    #1. 行定位符
    /*
	1) ^行首
	2)$行尾
		tm eqaul Tomorrow Moon
		^tm 匹配
		tm$不匹配
		tm屁匹配任意位置
    */

	#2. 单词界定符
	/*
	1)b \btm\b表示要查找一个完整的单词
	2)B \Btm|b正好相反 表示查找的不是一个完整的单词
	*/

	#3. 字符类
	/*
	1)正则表达式是区分大小写的如果要想忽略大小写可以使用[]
	  但是一个[]只能包含一个字符 例如tm的匹配要写成[tT][mM]
	2)POSIX预定义的字符类
		[:digit:]    [0-9]
		[[:alnum:]]  字母数字集合
		[[:alpha:]]  字母集合
		[[:blank:]]  空格 水平制表
		[[:xdigit:]] 十六进制数字
		[[:punct:]]  特殊字符 !@#$%^&*?
		[[:print:]]  所有可打印字符(包括空白字符)
		[[:space:]]  空包字符 空格 换行 换页 回车 水平制表
		[[:graph:]]  所有可打印字符(不包括空白字符)
		[[:upper:]]  大写字母
		[[:lower:]]  小写字母
		[[:cntrl:]]  控制字符
	*/

	#4 选择字符 |
	/*
	可以理解为或的意思
	*/

	#5 连接字符 _
	/*
	[a,b,d...,z] ==> [a-z]
	*/

	# 排除字符 [^]
	# [^a-zA-Z] 除了字符以外的

	#6 限定符 (?*+{n,m})
	/*
	? 匹配前面的字符零次或者一次 colo?r可以匹配colour color
	+ 匹配前面的字符一次或多次   go+gle可以匹配google到go...ogle
	* 匹配前面的字符零次或多次   go*gle可以匹配ggle到go...ogle
	{n} 匹配前面的字符n次
	{n,} 匹配前面的字符至少n次
	{n,m} 匹配前面的字符至少n次 至多m次

	*/

    #7 点号字符
	/*
	能够表示出了换行符以外的任意一个字符
	比如匹配首字母是S尾字母是T的三个字母的单词
	^s.t$
	*/

	#8 转义字符
	/*
	同c java中的一致
	*/

	#9 反斜线(\)
	/*
	反斜线定义了一些不可显示 比如 \b 退格键 \n换行等等
	*/

	#10 小括号
	/*
	改变限定符的作用域
	*/

	#11 反向引用
	/*
	反向引用就是一考表达式的记忆功能匹配连续出现的字符串或字母
	如匹配连续两个it 首先将单词it作为分组 然后在后面加上"\1"即可 格式为:
	(it)\1 //其中这个1代表的分组的序号 因为可能有多个分组
	*/

	#12 模式修饰符
	/*
	i 忽略大小写
	m 多文本形式 字串中含有多个换行符 影响^$的匹配
	s 单文本形式 .可以匹配$^
	x 忽略空白字符
      修饰符有三种格式:(?i)tm(?-i),(?i:tm),/tm/i
	*/

    #php中POSIX扩展正则表达式函数
    /*
	bool erge/eregi(string pattern, string string[, array regs])
	在string中查找pattern,如果存在第三个参数,则会将匹配的字串划分
	存到数组中去 第一个区分大小写 第二个不区分
    */

	/*
	bool ereg_replace/eregi_replace(string pattern, string replacement, string string)
	在字符串string中匹配pattern,如果成果使用replacement替换 并且返回替换后的string
	第一个区分大小写 第二种不
	*/

	/*
	array split/split(string pattern, string string[, int limit])
	使用pattern分割字符串string 存在参数limit的话就是限制分割的个数
	*/


	#PCER兼容正则表达式函数
	/*
	array preg_grep(string pattern, array input)函数
	使用input一一匹配表达式pattern 最后返回所有
	由所有匹配成功的元素组成的数组
	*/
    $input = array('helloJimbo','nihaoaJinbo');
    $pattern = '/J...o/';
    $arr = preg_grep($pattern, $input);
    //echo sizeof($arr);
    for($i = 0; $i < sizeof($arr); $i++){
    	echo "$arr[$i]<br>";
    }

    /*
    int preg_match/preg_match_all(string pattern, string subject[, array matches])
    在字符串subject中匹配表达式pattern
    函数返回匹配次数,如果有matches,
    */

    /*
    string preg_quote(string str[, string delimiter])
    将str里面的所有特殊字符自动转义
    如果有delimiter参数 则delimiter里面的字符也被转义	
    */

    /*
    preg_replace(mixed pattern, mixed replacement, mixed subject[, int limit])
    在subject中匹配pattern,匹配到替换成replacement,有limit限制次数
    preg_replace_callback(mixed pattern, callback callback, mixed subject[, int limit])
    功能相同 只不过replacement换成回调函数 可以更灵活
	
    */

    /*
	array preg_split(string pattern, string subject[, int limit])
	分割字符串
    */

?>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值