请问以下字符的正则表达式匹配字符串怎么写 一、二、三、…… 1、2、3、…… ①、②、③、…… a、b、c、……

php正则表达式1、2、3
我的图书馆
php正则表达式1、2、3
regular1.php:&?php& &&& //尝试着写第一个正则表达式&&& &&& //第一个参数,表示模式,表示匹配模式(就是和字符串去比较、匹配)&&& //第二个参数,表示字符串&&& &&& //如果整个函数模式和字符串比较后匹配了,那么返回真(true)1,否则返回假(false)0&&& //什么叫匹配,就是一个一个的比较过去&&& //按照什么规则??按照模式来匹配&&& //只要模式全部通过,那么就通过&&& &&& //匹配和相等是两个概念&&& //因为目前的模式是一个整体,php&&& //所以,字符串只要有连在一起的php三个字符,不管怎样的字符串都能匹配&&& $mode = '/php/';&& //规则模式&&& $string = 'sdlkfjwehsdlfkjpsdlfkjshersidjflkspdf';&& //字符串&&& if (preg_match($mode,$string)) {&&& &&& echo '匹配';&&& } else {&&& &&& echo '不匹配';&&& }&&& //&&& if ('a'=='b') {//&&& &&& echo '相等';//&&& } else {//&&& &&& echo '不等';//&&& }&&& &&& //什么叫前导,前面的一个字符&&& //+号的前导字符就是h&&& //h+的意思是,至少包含一个h&&& //+号的意思,是前导字符,一个或者多个&&& &&& //h*的意思是,零个或者多个h&&& //*号虽然可以是零个,但是前导字符不能更改,更改了,就不匹配了&&& &&& //h?的意思是,零个或者一个h&&& //?多个前导字符不行&&& &&& //.的意思是,任意一个字符,所以,两个点,就是任意两个字符&&& //.*表示前导任意字符,并且零个或者多个&&& &&& //p{3}表示,前导必须是3个&&& //p{3,5}表示,前导必须是3-5个&&& //p{3,}表示,前导至少3个p&&& &&& //$符号,一般加在模式的字符串尾巴上&&& //表示从尾巴开始匹配&&& //^表示,从开头进行匹配&&& //^和$一起用的,基本上不要用正则了,直接用==号即可&&& //|是一个条件选择符,如果有其中一个,即可匹配。&&& $mode = '/(This) (is) (a) (Teacher)/';&& //规则模式&&& $string = 'This is a Teacher';&& //字符串&&& if (preg_match($mode,$string)) {&&& &&& echo '匹配';&&& } else {&&& &&& echo '不匹配';&&& } &&& & ?&regular2.php:&?php& /**&& * 正则表达式中的元字符:&& * [a-z] 匹配任何包含小写字母a-z的字符串.如果第一个匹配成功,则后面的就不进行匹配。结果为成功。&& * [A-Z] 匹配任何包含大写字母a-z的字符串&& * [0-9] 匹配任何包含数字0-9的字符串&& * [abc] 匹配任何包含小写字母a、b、c的字符串&& * [^abc] 匹配任何不包含小写字母a、b、c的字符串&& * [a-zA-Z0-9_] 匹配任何包含a-zA-Z0-9和下划线的字符串&& * \w 匹配任何包含a-zA-Z0-9和下划线的字符串&& * \W 匹配任何没有下划线和字母数字的字符串&& * \d 匹配任何数字字符,与[0-9]相同&& * \D 匹配任何非数字字符,与[^0-9]相同&& * \s 匹配任何空白字符&& * \S 匹配任何非空白字符&& * \b 匹配是否到达了单词边界。(代表着单词的开头或结尾,也就是单词的分界处。虽然通常英文的单词是由空格,标点符号或者换行来分隔的,但是\b并不匹配这些单词分隔字符中的任何一个,它只匹配一个位置。)&& * \B 匹配是否没有到达单词边界&& * \& 匹配正则中的特殊字符&& */& &&&&& // [a-z] 表示将待比较的字符串逐个与模式进行匹配,只要有一个能匹配到模式中的,结果为成功& $mode = '/[a-z]/'; && $string ='0i'; //也可以。先匹配s,如果匹配到,则结果为成功&& & if ( preg_match($mode, $string)){& &&& echo '[]字母元素匹配成功';& }else{& &&& echo '[]字母元素匹配失败';& }&&& echo '&br/&';&&& &&& // [0-9] 表示将待比较的字符串逐个与模式进行匹配,只要有一个能匹配到模式中的,结果为成功& $mode = '/[0-9]/'; && $string ='bc1'; //也可以。依次匹配a b 1,如果1匹配到了,则结果为成功&& & if ( preg_match($mode, $string)){& &&& echo '[]数字元素匹配成功';& }else{& &&& echo '[]数字元素匹配失败';& }&&& echo '&br/&';&&& &&&& // [abc] 表示将待比较的字符串逐个与模式进行匹配,只要有一个能匹配到模式中的,结果为成功& $mode = '/[abc]/'; && $string ='db'; //也可以。依次匹配d b,如果匹配到,则结果为成功&& //$string& = db'&& //成功& if ( preg_match($mode, $string)){& &&& echo '[]abc元素匹配成功';& }else{& &&& echo '[]abc元素匹配失败';& }&&& echo '&br/&';&&& &&& // \d与[0-9]功能相同&&& $mode = '/\d/'; && $string ='bc9'; //也可以。依次匹配a b 1,如果1匹配到了,则结果为成功&& & if ( preg_match($mode, $string)){& &&& echo '\d元素匹配成功';& }else{& &&& echo '\d元素匹配失败';& }&&& echo '&br/&';&&& // \b表示到达了单词的边界,如果没有到达,就不匹配。如果放在结尾,边界可以理解为结束或空格&&& //如果\b放在最开始,代表单词的开始或空格&&& $mode = '/\bphp/'; && $string ='my php is good'; //也可以。& if ( preg_match($mode, $string)){& &&& echo '\b元素匹配成功';& }else{& &&& echo '\b元素匹配失败';& }&&& echo '&br/&';&&& // 如果要匹配特殊字符的话,必须在特殊字符前加上\进行转义&&& $mode = '/ph\+p/'; && $string ='ph+p'; //也可以。& if ( preg_match($mode, $string)){& &&& echo '\元素匹配成功';& }else{& &&& echo '\元素匹配失败';& }&&& echo '&br/&';?&regular3.php:&?php& /**&& * 正则表达式中的修饰符:一般放在//的外面。&& *& i 完成不区分大小写的搜索&& *& m 在匹配首内容或尾内容时采用多行识别匹配&& *& x 忽略正则中的空白&& *& A 强制从头开始匹配&& *& U 禁止贪婪匹配,只跟踪到最近的一个匹配符结束&& */& $mode = '/php/i'; && $string ='pHp'; //也可以。&&& //$string ='pHpadadf'; //也可以。& if ( preg_match($mode, $string)){& &&& echo 'i修饰符匹配成功';& }else{& &&& echo 'i修饰符匹配失败';& }&&& echo '&br/&';&&& //m 表示匹配首尾时,遇到换行,也应该承认是结尾。不太常用&&& $mode = '/php/im'; && $string ="this is pHp\n is good"; //也可以。&&& //$string ='pHpadadf'; //也可以。& if ( preg_match($mode, $string)){& &&& echo 'm修饰符匹配成功';& }else{& &&& echo 'm修饰符匹配失败';& }&&& echo '&br/&';?&regular4.php:&?php& /**&& *& 函数应用:&& *& 搜索字符串:preg_grep()函数搜索数组中的所有元素,返回由与某个模式匹配的所有元素组成的数组&& *& prge_match():函数在字符串中搜索模式,如果存在则返回true,否则返回false&& *& prge_replace:函数搜索到所有匹配,然后替换成想要的字符串返回出来。功能强大,常用&& *& && */& //假设找出结尾为p的三种编程语言&&& $language = array('php','jsp','asp','python','ruby');&&& //模式:结尾匹配p&&& $mode = '/p$/';&&& //模式:开头为p的模式&&& //$mode = '/^p/';&&& print_r (preg_grep($mode, $language));&&& echo "&br/&";&&& &&& //电子邮件小案例&&& $mode = '/([\w\.]{2,255})@([\w]{2,255}).([a-z]{2,4})/';&&& $string = '';&&& if (preg_match($mode, $string)){&&& &&& echo '电子邮件合法';&&& }else {&&& &&& echo '电子邮件不合法';&&& }&&& echo "&br/&";&&& //匹配全局正则&&& //将字符串的所有匹配得到的数组结果,放进第三个变量中&&& &preg_match_all('/php[1-6]/', 'php5adkafphp6kikikdphp4', $out);&&& &print_r ($out);&&& &echo $out[0][0];&&& &echo "&br/&";&&& &&&& &//搜索匹配的结果,然后替换掉。第1个对数为正则模式,第2个参数是要被替成的字符串,第3个参数为字符串&&& &echo preg_replace('/php[1-6]/', 'python', 'This is php5,This is php4');&&& &//上句输出结果为:& This is python,This is python&&& & echo "&br/&";&&& & &&& &//贪婪和分组获取的案例&&& &//在mode中,用几个括号,就表示分几组,那么第一组就是\1,第二组就是\2,第三组就是\3,...&&& &//问题:只匹配到第一个[b]和最后一个[/b],解决此问题需要在mode中加入U参数,来使与最近的配对。&&& &$mode = '/\[b\](.*)\[\/b\]/U';&&& &$replace ='&strong&\1&/strong&';& // \1表示引用第一个括号的.*内容&&& &$string ='this is a [b]php5[/b],this is [b]php6[/b]';&&& &echo preg_replace($mode, $replace, $string);&&& &echo "&br/&";&&& &&&& &//用正则表达式来分割&&& &print_r(preg_split('/[\.@c]/', 'hyc@')) ;//表示按.或@或c符号来分割?&
TA的最新馆藏
喜欢该文的人也喜欢编译原理1、3章作业答案_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
编译原理1、3章作业答案
&&龙书 第二版 编译原理答案
阅读已结束,下载文档到电脑
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩1页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢}

我要回帖

更多关于 特殊字符的正则表达式 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信