11.2、正则表达式Perl风格函数的应用
2012-12-24 00:40
330 查看
PHP 为使用 Perl 兼容的正则表达式搜索字符串提供了7个函数: preg_grep() preg_match() preg_match_all() preg_auote() preg_replace() preg_replace_callback() preg_split()
PHP Code By http://t.qq.com/tony-src
注: 目前为 PHP 使用 POSIX 风格的正则表达式搜索字符串提供了 7 个函数,包括:ereg()、ereg_replace()、eregi()、eregi_replace()、split()和sql_replace()。PS: 和 Perl 风格基本相同,参考手册学习。
来自为知笔记(Wiz)Time=2012-12-17 16:00:00
PHP Code By http://t.qq.com/tony-src
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | <?php /** * 1.preg_grep() 搜索字符串,搜索数组中的所有元素,返回由与某个模式匹配的所有元素组成的数组 */ $language = array('php','asp','jsp','python','ruby'); $mode = '/p$/'; print_r(preg_grep($mode, $language)); ?> <?php echo '<br />'?> <?php /** * 2.preg_match() 搜索模式,最后返回 的是真或假,1/0 */ echo preg_match('/php[1-6]/', 'php5'); // 电子邮件小案例 $mode = '/([\w\.]{2,255})@([\w\-]{1,255}).([a-z]{2,4})/'; $string = 'tony.w.src@gmail.com'; if (preg_match($mode, $string)){ echo '电子邮件合法'; } else { echo '电子邮件不合法'; } ?> <?php echo '<br />'?> <?php /** * 3.preg_match_all() 匹配模式的所有出现,然后将所有匹配到的全部放入数组 */ preg_match_all('/php[1-6]/', 'php5sdfsdsfphp4dsfsdfphp6fsdf', $out); print_r($out); ?> <?php echo '<br />'?> <?php /** * 4.preg_quote() 定界特殊的正则表达式,在每个对于正则表达式语法而言有特殊含义的字符前插入一个反斜线。 * 这些特殊字符包含:$^*()+={}[]\\:<> */ echo preg_quote('php 的价格是:$150') ?> <?php echo '<br />'?> <?php /** * 5.preg_replace() 替换模式的所有出现,搜索到所有匹配,然后替换成想要的字符串返回 出来 */ echo preg_replace('/php[1-5]/', 'python', 'php5dfsfphp6dsfsdfphp3'); echo '<br />'; // 贪婪和分组获取的使用 $mode = '/\[b\](.*)\[\/b\]/U'; $replace = '<strong>\1</strong>'; $string = 'This is a php5,This is a php4'; echo preg_replace($mode, $replace, $string); ?> <?php echo '<br />'?> <?php /** * 6.preg_replace_callback() 执行一个正则表达式搜索并且使用一个回调进行替换 */ // 将文本中的年份增加一年. $text = "April fools day is 04/01/2002\n"; $text.= "Last christmas was 12/24/2001\n"; // 回调函数 function next_year($matches) { // 通常: $matches[0]是完成的匹配 // $matches[1]是第一个捕获子组的匹配 // 以此类推 return $matches[1].($matches[2]+1); } echo preg_replace_callback( '|(\d{2}/\d{2}/)(\d{4})|', 'next_year', $text); ?> <?php echo '<br />'?> <?php /** * 7.prep_split() 以不区分大小写的方式将字符串划分为不同的元素 */ print_r(preg_split('/@/', 'tony.w.src@gmail.com')); // 按 . 与 @ 进行分割 print_r(preg_split('/[\.@]/', 'tony.w.src@gmail.com')); ?> |
来自为知笔记(Wiz)Time=2012-12-17 16:00:00
相关文章推荐
- POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
- POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
- POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
- PHP中基于perl的正则表达式处理函数
- Delphi 正则表达式之TPerlRegEx 类的属性与方法(6): EscapeRegExChars 函数
- Delphi 正则表达式之TPerlRegEx 类的属性与方法(7): Split 函数
- PHP中Perl兼容类型的正则表达式相关函数总结
- PHP中正则表达式函数(Perl兼容)
- java 风格的正则表达式 vs Perl风格的正则表达式
- [收藏] 正则表达式的入门与应用,1~4篇!grep/sed/perl/awk
- Perl 学习笔记-正则表达式应用篇
- [收藏] 正则表达式的入门与应用,1~4篇!grep/sed/perl/awk
- [收藏] 正则表达式的入门与应用,1~4篇!grep/sed/perl/awk
- PHP中基于perl的正则表达式处理函数
- PHP中与Perl兼容的正则表达式处理函数
- 正则表达式(Perl风格)
- 与Perl兼容的正则表达式函数
- qtp 获取弹出提示框(异常框)的文本显示信息(正则表达式和自定义函数应用)
- Delphi 正则表达式之TPerlRegEx 类的属性与方法(6): EscapeRegExChars 函数
- 正则表达式在C#中的应用函数