写在开博之前的话:很早就有写这个笔记的念头,但是一直没有实行。的确是要记录一下自己学习的历程,就当作一种复习,我的学习php途径主要是两种,一种是看书,一种是看在php100下载的视频,的确讲的比较详细,很适合新手。
今天主要开始学习正则表达式,在我看来正则表达式主要是为了匹配查询字符的功能。1、什么是正则表达式:在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串
的需要。正则表达式就是用于描述这些规则的语法。
2、正则表达式主要有什么作用: 分割,匹配,查询,替换。
3、两个常用的匹配函数:
(1)preg_match ( mode, string subject , array matches )
mode:你所要匹配的内容;
string subject:你要匹配的对象;
array matches :存放匹配结果的数组;
(2)ereg ( mode, string subject , array regs )
区别:(1)preg_match 正则函数,以perl语言为基础;ereg 正则函数,以POSIX基础 (Unix 、 Script)。
(2)preg_match()中 mode,要以#或/开始以#或/结束。例如:preg_match ( ”#abc#“, “sadasasfasfsaabc” , $arr )
在'sadasasfasfsaabc' 中匹配abc;
4、正则表达式中包含的元素:
(1)原子(普通字符:a-z A-Z 0-9 原子表,转义字符等)
(2)元字符(有特殊功能的字符)
(3)模式修正符(系统内置部分字符)
注释:原子包括:1、常见字符:a-z A-Z 0-9
2、(abc)用圆括号包含的字符,即匹配括号里面的内容。
3、[abc]//用方括号包含的原子表,它与圆括号的区别在于,方括号匹配里面的任意字符,而圆括号则是严格匹配其中的字符串或字符。
4、转义字符
5、示例代码:
<?php
$mode = "/abc/";
$str ="dfadasdbac123
dfadfaf";
preg_match($mode, $str,$arr);
if ($arr) {
echo "yes".$arr[0];
}
else
{
echo "sorry";
}
?>